scorpio 2 years ago
parent
commit
134ec59e9f

+ 18 - 0
src/layout/tips.vue

@@ -15,6 +15,18 @@
           nav.menus[nav.menus.length - 1].name
         }}</span>
       </div>
+      <div
+        style="max-width: 400px"
+        v-if="nav.menus[nav.menus.length - 1].meta.path"
+      >
+        <el-button
+          text
+          type="primary"
+          @click="goNext(nav.menus[nav.menus.length - 1].meta.path)"
+          >{{ nav.menus[nav.menus.length - 1].meta.title
+          }}<el-icon><ArrowRight /></el-icon
+        ></el-button>
+      </div>
       <el-tooltip>
         <template #content>
           <div style="max-width: 400px">
@@ -63,6 +75,12 @@ export default {
       type: Boolean,
       default: false
     }
+  },
+  methods: {
+    goNext(path) {
+      const data = this.$router.resolve(path)
+      window.open(data.href, '_blank')
+    }
   }
 }
 </script>

+ 68 - 0
src/views/contract/component/info.vue

@@ -0,0 +1,68 @@
+<template>
+  <div>
+    <div class="padding top flex flex-center flex-justify-between">
+      <span>基础信息</span>
+      <div>
+        <el-button type="primary" plain> {{ save }} </el-button>
+      </div>
+    </div>
+    <div class="padding">
+      <el-form
+        label-position="right"
+        label-width="100px"
+        :disabled="disabled"
+        style="background-color: white"
+      >
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="备案时间" class="flex-child-average">
+            <el-input v-model="form.name" />
+          </el-form-item>
+          <el-form-item label="合同签订时间" class="flex-child-average">
+            <el-input v-model="form.region" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="开工时间" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同金额" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="合同甲方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同乙方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'info',
+  data() {
+    return {
+      disabled: true,
+      save: '编辑',
+      form: {
+        name: '',
+        region: '',
+        type: ''
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.top {
+  height: 35px;
+  border-radius: var(--el-card-border-radius);
+  background-color: #f5f5f3;
+}
+</style>

+ 68 - 0
src/views/contract/component/info2.vue

@@ -0,0 +1,68 @@
+<template>
+  <div>
+    <div class="padding top flex flex-center flex-justify-between">
+      <span>台账信息</span>
+      <div>
+        <el-button type="primary" plain> {{ save }} </el-button>
+      </div>
+    </div>
+    <div class="padding">
+      <el-form
+        label-position="right"
+        label-width="100px"
+        :disabled="disabled"
+        style="background-color: white"
+      >
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="备案时间" class="flex-child-average">
+            <el-input v-model="form.name" />
+          </el-form-item>
+          <el-form-item label="合同签订时间" class="flex-child-average">
+            <el-input v-model="form.region" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="开工时间" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同金额" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="合同甲方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同乙方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'info',
+  data() {
+    return {
+      disabled: true,
+      save: '编辑',
+      form: {
+        name: '',
+        region: '',
+        type: ''
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.top {
+  height: 35px;
+  border-radius: var(--el-card-border-radius);
+  background-color: #f5f5f3;
+}
+</style>

+ 68 - 0
src/views/contract/component/info3.vue

@@ -0,0 +1,68 @@
+<template>
+  <div>
+    <div class="padding top flex flex-center flex-justify-between">
+      <span>相关信息文件</span>
+      <div>
+        <el-button type="primary" plain> {{ save }} </el-button>
+      </div>
+    </div>
+    <div class="padding">
+      <el-form
+        label-position="right"
+        label-width="100px"
+        :disabled="disabled"
+        style="background-color: white"
+      >
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="备案时间" class="flex-child-average">
+            <el-input v-model="form.name" />
+          </el-form-item>
+          <el-form-item label="合同签订时间" class="flex-child-average">
+            <el-input v-model="form.region" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="开工时间" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同金额" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+        <div class="full-width flex flex-center flex-justify-between">
+          <el-form-item label="合同甲方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+          <el-form-item label="合同乙方" class="flex-child-average">
+            <el-input v-model="form.type" />
+          </el-form-item>
+        </div>
+      </el-form>
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'info',
+  data() {
+    return {
+      disabled: true,
+      save: '编辑',
+      form: {
+        name: '',
+        region: '',
+        type: ''
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+.top {
+  height: 35px;
+  border-radius: var(--el-card-border-radius);
+  background-color: #f5f5f3;
+}
+</style>

+ 46 - 0
src/views/contract/detail.vue

@@ -0,0 +1,46 @@
+<template>
+  <div>
+    <el-card
+      shadow="hover"
+      class="mb-20"
+      style="min-height: 430px; padding: 0; width: 99%"
+    >
+      <info :info="info"></info>
+    </el-card>
+    <el-card
+      shadow="hover"
+      class="mb-20"
+      style="min-height: 430px; padding: 0; width: 99%"
+    >
+      <info2 :info="info"></info2>
+    </el-card>
+    <el-card
+      shadow="hover"
+      class="mb-20"
+      style="min-height: 430px; padding: 0; width: 99%"
+    >
+      <info3 :info="info"></info3>
+    </el-card>
+  </div>
+</template>
+<route>
+{
+name: '合同详情',
+meta: { layout: 'empty'}
+}
+</route>
+<script>
+import info from '@/views/contract/component/info.vue'
+import info2 from '@/views/contract/component/info2.vue'
+import info3 from '@/views/contract/component/info3.vue'
+
+export default {
+  components: { info, info2, info3 }
+}
+</script>
+
+<style lang="scss" scoped>
+:deep(.el-card) {
+  --el-card-padding: 0 !important;
+}
+</style>

+ 70 - 0
src/views/contract/index.vue

@@ -0,0 +1,70 @@
+<template>
+  <el-card shadow="hover">
+    <avue-crud
+      :option="option"
+      :data="data"
+      ref="crud"
+      v-model="form"
+      :before-open="beforeOpen"
+      @row-del="rowDel"
+      @row-save="rowSave"
+      @row-update="rowUpdate"
+      @on-load="onLoad"
+    >
+    </avue-crud>
+  </el-card>
+</template>
+
+<route>
+{
+name: '合同管理',
+meta: { layout: 'empty'}
+}
+</route>
+<script>
+export default {
+  data() {
+    return {
+      form: {},
+      data: [
+        {
+          id: '333',
+          noticeType: 'noticeTypenoticeType'
+        }
+      ],
+      option: {
+        align: 'center',
+        menuAlign: 'center',
+        menuWidth: 380,
+        size: 'mini',
+        addBtn: false,
+        editBtn: false,
+        viewBtn: true,
+        refreshBtn: false,
+        columnBtn: false,
+        labelWidth: 140,
+        border: true,
+        column: [
+          {
+            label: '会议类型',
+            prop: 'noticeType'
+          }
+        ]
+      }
+    }
+  },
+  methods: {
+    beforeOpen(done, type) {
+      if (type === 'view') {
+        const data = this.$router.resolve({
+          path: '/contract/detail',
+          query: { id: this.form.id }
+        })
+        window.open(data.href, '_blank')
+      }
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped></style>

+ 1 - 1
src/views/home/pro_detail.vue

@@ -50,7 +50,7 @@
 <route>
 {
 name: '项目详情',
-meta :{ layout: 'empty' }
+meta :{ layout: 'empty','path':'/contract','title':'合同管理' }
 }
 </route>