From 63ac895629d2de0e7f4284b1617d9aa8cbd07d05 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期五, 21 三月 2025 14:16:04 +0800
Subject: [PATCH] 1、删除DNC冗余组件 2、优化DNC文档版本、文档指派及文档预览功能代码

---
 /dev/null                                                                      |   91 --------
 src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue |    2 
 src/views/dnc/common/FilePreview.vue                                           |  155 +++++++-------
 src/views/dnc/common/SelectFileCompareModal.vue                                |   76 ++++--
 src/views/dnc/common/DocumentVersionTableList.vue                              |  292 ++++++++++++++------------
 5 files changed, 284 insertions(+), 332 deletions(-)

diff --git a/src/views/dnc/base/WorkDoneList.vue b/src/views/dnc/base/WorkDoneList.vue
deleted file mode 100644
index 5cb900a..0000000
--- a/src/views/dnc/base/WorkDoneList.vue
+++ /dev/null
@@ -1,178 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-宸插姙 List
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-card :bordered="false">
-    <!-- 鏌ヨ鍖哄煙 -->
-<!--    <div class="table-page-search-wrapper">-->
-<!--      <a-form layout="inline" @keyup.enter.native="searchQuery">-->
-<!--        <a-row :gutter="24">-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <a-form-item label="鏂囨。鍚嶇О">-->
-<!--              <a-input placeholder="杈撳叆鏂囨。鍚嶇О" v-model="queryParam.actName"></a-input>-->
-<!--            </a-form-item>-->
-<!--          </a-col>-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <a-form-item label="璁惧鍚嶇О">-->
-<!--              <a-input placeholder="杈撳叆璁惧鍚嶇О" v-model="queryParam.actName"></a-input>-->
-<!--            </a-form-item>-->
-<!--          </a-col>-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">-->
-<!--              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
-<!--              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>-->
-<!--            </span>-->
-<!--          </a-col>-->
-<!--        </a-row>-->
-<!--      </a-form>-->
-<!--    </div>-->
-    <!-- 鏌ヨ鍖哄煙-END -->
-
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button type="primary" @click="searchQuery" icon="search">鍒锋柊</a-button>
-<!--      <a-button @click="handleAdd" type="primary" icon="plus">鏂板</a-button>-->
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            涓嬭浇
-          </a-button>
-        </template>
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleDetail(record)">璇︽儏</a>
-        </span>
-      </a-table>
-    </div>
-
-
-    <WorkDoneModal ref="modalForm" @ok="modalFormOk"></WorkDoneModal>
-
-  </a-card>
-</template>
-
-<script>
-
-import '@assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@comp/dict/JDictSelectTag.vue'
-import WorkDoneModal from './modules/WorkDone/WorkDoneModal__Style#Drawer.vue'
-
-export default {
-  name: 'AssignApproveUser',
-  mixins:[JeecgListMixin, mixinDevice],
-  components: {
-    JDictSelectTag,
-    WorkDoneModal
-  },
-  data () {
-    return {
-      description: '鎴戠殑宸ヤ綔鍙�-宸插姙',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '搴忓彿',
-          dataIndex: '',
-          key:'rowIndex',
-          width:200,
-          align:"center",
-          customRender:function (t,r,index) {
-            return parseInt(index)+1;
-          }
-        },
-        {
-          title: '鏂囨。鍚嶇О',
-          align: "center",
-          dataIndex: 'docName',
-          width: 250,
-        },
-        {
-          title: '璁惧鍚嶇О',
-          align: "center",
-          dataIndex: 'deviceName',
-          width: 250,
-        },
-        {
-          title: '鏂囨。鐗堟湰',
-          align: "center",
-          dataIndex: 'version',
-          width: 250,
-        },
-        {
-          title: '瀵嗙骇',
-          align: "center",
-          dataIndex: 'secretLevel',
-          width:300
-        },
-        {
-          title: '瀹℃壒缁撴灉',
-          align: "center",
-          dataIndex: 'status_dictText',
-          width:300
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' },
-          align: 'center',
-          width: 200,
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: "/nc/activit/find/page",
-        delete: "/nc/definition/delete",
-      },
-      dictOptions:{},
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    },
-  },
-  methods: {
-    initDictConfig(){
-    }
-  }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/WorkUpcomingList.vue b/src/views/dnc/base/WorkUpcomingList.vue
deleted file mode 100644
index c034832..0000000
--- a/src/views/dnc/base/WorkUpcomingList.vue
+++ /dev/null
@@ -1,186 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 List
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-card :bordered="false">
-    <!-- 鏌ヨ鍖哄煙 -->
-<!--    <div class="table-page-search-wrapper">-->
-<!--      <a-form layout="inline" @keyup.enter.native="searchQuery">-->
-<!--        <a-row :gutter="24">-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <a-form-item label="鏂囨。鍚嶇О">-->
-<!--              <a-input placeholder="杈撳叆鏂囨。鍚嶇О" v-model="queryParam.actName"></a-input>-->
-<!--            </a-form-item>-->
-<!--          </a-col>-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <a-form-item label="璁惧鍚嶇О">-->
-<!--              <a-input placeholder="杈撳叆璁惧鍚嶇О" v-model="queryParam.actName"></a-input>-->
-<!--            </a-form-item>-->
-<!--          </a-col>-->
-<!--          <a-col :xl="6" :lg="7" :md="8" :sm="24">-->
-<!--            <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons">-->
-<!--              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
-<!--              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>-->
-<!--            </span>-->
-<!--          </a-col>-->
-<!--        </a-row>-->
-<!--      </a-form>-->
-<!--    </div>-->
-    <!-- 鏌ヨ鍖哄煙-END -->
-
-    <!-- 鎿嶄綔鎸夐挳鍖哄煙 -->
-    <div class="table-operator">
-      <a-button type="primary" @click="searchQuery" icon="search">鍒锋柊</a-button>
-      <a-button @click="handleAdd" type="primary" icon="plus">鎵归噺瀹℃牳</a-button>
-    </div>
-
-    <!-- table鍖哄煙-begin -->
-    <div>
-      <div class="ant-alert ant-alert-info" style="margin-bottom: 16px;">
-        <i class="anticon anticon-info-circle ant-alert-icon"></i> 宸查�夋嫨 <a style="font-weight: 600">{{ selectedRowKeys.length }}</a>椤�
-        <a style="margin-left: 24px" @click="onClearSelected">娓呯┖</a>
-      </div>
-
-      <a-table
-        ref="table"
-        size="middle"
-        :scroll="{x:true}"
-        bordered
-        rowKey="id"
-        :columns="columns"
-        :dataSource="dataSource"
-        :pagination="ipagination"
-        :loading="loading"
-        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        class="j-table-force-nowrap"
-        @change="handleTableChange">
-
-        <template slot="htmlSlot" slot-scope="text">
-          <div v-html="text"></div>
-        </template>
-        <template slot="imgSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犲浘鐗�</span>
-          <img v-else :src="getImgView(text)" height="25px" alt="" style="max-width:80px;font-size: 12px;font-style: italic;"/>
-        </template>
-        <template slot="fileSlot" slot-scope="text">
-          <span v-if="!text" style="font-size: 12px;font-style: italic;">鏃犳枃浠�</span>
-          <a-button
-            v-else
-            :ghost="true"
-            type="primary"
-            icon="download"
-            size="small"
-            @click="downloadFile(text)">
-            涓嬭浇
-          </a-button>
-        </template>
-
-        <span slot="action" slot-scope="text, record">
-          <a @click="handleApproval(record)">瀹℃壒</a>
-          <a-divider type="vertical" />
-          <a @click="handleDetail(record)">璇︽儏</a>
-        </span>
-      </a-table>
-    </div>
-
-
-    <WorkUpcomingModal ref="modalForm" @ok="modalFormOk"></WorkUpcomingModal>
-
-    <WorkUpcomingApprovalModal ref="modalFormApproval" @ok="modalFormOk"></WorkUpcomingApprovalModal>
-  </a-card>
-</template>
-
-<script>
-
-import '@assets/less/TableExpand.less'
-import { mixinDevice } from '@/utils/mixin'
-import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-import JDictSelectTag from '@comp/dict/JDictSelectTag.vue'
-import WorkUpcomingModal from './modules/WorkUpcoming/WorkUpcomingModal__Style#Drawer.vue'
-import WorkUpcomingApprovalModal from './modules/WorkUpcoming/WorkUpcomingApprovalModal.vue'
-export default {
-  name: 'AssignApproveUser',
-  mixins:[JeecgListMixin, mixinDevice],
-  components: {
-    JDictSelectTag,
-    WorkUpcomingModal,
-    WorkUpcomingApprovalModal
-  },
-  data () {
-    return {
-      description: '鎴戠殑宸ヤ綔鍙�-浠e姙',
-      // 琛ㄥご
-      columns: [
-        {
-          title: '搴忓彿',
-          dataIndex: '',
-          key:'rowIndex',
-          width:200,
-          align:"center",
-          customRender:function (t,r,index) {
-            return parseInt(index)+1;
-          }
-        },
-        {
-          title: '鏂囨。鍚嶇О',
-          align: "center",
-          dataIndex: 'assignFileStream.docName',
-          width: 200,
-        },
-        {
-          title: '閮ㄤ欢鍚嶇О',
-          align: "center",
-          dataIndex: 'assignFileStream.deviceName',
-          width: 220,
-        },
-        {
-          title: '鏂囨。鐗堟湰',
-          align: "center",
-          dataIndex: 'assignFileStream.version',
-          width: 250,
-        },
-        {
-          title: '瀵嗙骇',
-          align: "center",
-          dataIndex: 'assignFileStream.secretLevel',
-          width: 250,
-        },
-        {
-          title: '鎿嶄綔',
-          dataIndex: 'action',
-          scopedSlots: { customRender: 'action' },
-          align: 'center',
-          width: 200,
-          fixed: 'right'
-        }
-      ],
-      url: {
-        list: "/nc/activit/find/task/list",
-        delete: "/nc/definition/delete",
-      },
-      dictOptions:{},
-    }
-  },
-  created() {
-  },
-  computed: {
-    importExcelUrl: function(){
-      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-    },
-  },
-  methods: {
-    initDictConfig(){
-    },
-    handleApproval(record){
-      this.$refs.modalFormApproval.edit(record);
-      this.$refs.modalFormApproval.title = "瀹℃壒";
-      this.$refs.modalFormApproval.disableSubmit = false;
-    }
-  }
-}
-</script>
-<style scoped>
-@import '~@assets/less/common.less';
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue
deleted file mode 100644
index 46b6c81..0000000
--- a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineForm.vue
+++ /dev/null
@@ -1,226 +0,0 @@
-<!--
- Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Form
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form :form="form" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-item label="娴佺▼鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="formDisabled" v-decorator="['actName', validatorRules.actName]" placeholder="璇疯緭鍏ユ祦绋嬪悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-equipment-production  v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏍″浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['proofreaderUser']"  placeholder="璇烽�夋嫨瀹℃壒浜�"/>
-              {{ getFormFieldValue('proofreaderUser') }}
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鎵瑰噯浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['approveUser']"  placeholder="璇烽�夋嫨瀹℃壒浜�"/>
-              {{ getFormFieldValue('approveUser') }}
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="璇曞垏浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['cutterUser']"  placeholder="璇烽�夋嫨瀹℃壒浜�"/>
-              {{ getFormFieldValue('cutterUser') }}
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹氬瀷浜哄憳" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['typecastUser']"  placeholder="璇烽�夋嫨瀹℃壒浜�"/>
-              {{ getFormFieldValue('typecastUser') }}
-            </a-form-item>
-          </a-col>
-          <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">
-            <a-button @click="submitForm">鎻� 浜�</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import JFormContainer from '@/components/jeecg/JFormContainer'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-  import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue'
-
-  export default {
-    name: 'ActivitiSignExamineForm',
-    components: {
-      JSelectEquipmentProduction,
-      JFormContainer,
-      JDictSelectTag,
-    },
-    props: {
-      //娴佺▼琛ㄥ崟data
-      formData: {
-        type: Object,
-        default: ()=>{},
-        required: false
-      },
-      //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗�
-      formBpm: {
-        type: Boolean,
-        default: false,
-        required: false
-      },
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        form: this.$form.createForm(this),
-        users:"",
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-          actName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'},
-            ]
-          },
-          departId: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'},
-            ]
-          },
-          approveUsers: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'},
-            ]
-          },
-          characters: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-        },
-        url: {
-          add: "/nc/activitiSignExamine/add",
-          edit: "/nc/activitiSignExamine/edit",
-          // queryById: "/zhshj/wglltwh/query/by/id"
-        },
-        userOptions:[]
-      }
-    },
-    computed: {
-      formDisabled(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return false
-          }
-          return true
-        }
-        return this.disabled
-      },
-      showFlowSubmitButton(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return true
-          }
-        }
-        return false
-      }
-    },
-    created () {
-      //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata
-      this.showFlowData();
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      backProductionInfo(info) {
-        // console.log(info)
-        this.model.productionIds = this.model.selectedProduction;
-        this.nextProductionOptions = info.map((item,index,arr)=>{
-          let c = {label:item.text, value: item.value+""}
-          return c;
-        })
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'actName','departId','approveUsers'))
-        })
-      },
-      getFormFieldValue(field){
-        return this.form.getFieldValue(field)
-      },
-      //娓叉煋娴佺▼琛ㄥ崟鏁版嵁
-      showFlowData(){
-        if(this.formBpm === true){
-          let params = {id:this.formData.dataId};
-          getAction(this.url.queryById,params).then((res)=>{
-            if(res.success){
-              this.edit (res.result);
-            }
-          });
-        }
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-      popupCallback(row){
-        this.form.setFieldsValue(pick(row,'actName','departId','approveUsers'))
-      },
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue
deleted file mode 100644
index 957080b..0000000
--- a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Modal
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <j-modal
-    :title="title"
-    :width="width"
-    :visible="visible"
-    switchFullscreen
-    @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <ActivitiSignExamineForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></ActivitiSignExamineForm>
-  </j-modal>
-</template>
-
-<script>
-
-  import ActivitiSignExamineForm from './ActivitiSignExamineForm.vue'
-  export default {
-    name: 'AssignApproveUserModal',
-    components: {
-      ActivitiSignExamineForm
-    },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
-    },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
-</script>
\ No newline at end of file
diff --git "a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue"
deleted file mode 100644
index 349ed96..0000000
--- "a/src/views/dnc/base/modules/ActivitiSingExamine/ActivitiSignExamineModal__Style\043Drawer.vue"
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
- Description: NC绋嬪簭绛炬淳娴佺▼閰嶇疆 Modal-Drawer
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-drawer
-    :title="title"
-    :width="width"
-    placement="right"
-    :closable="false"
-    @close="close"
-    destroyOnClose
-    :visible="visible">
-    <ActivitiSignExamineForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></ActivitiSignExamineForm>
-    <div class="drawer-footer">
-      <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button>
-      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-
-
-
-import ActivitiSignExamineForm from './ActivitiSignExamineForm.vue'
-
-export default {
-  name: 'AssignApproveUserModal',
-  components: {
-    ActivitiSignExamineForm,
-  },
-  data() {
-    return {
-      title: "鎿嶄綔",
-      width: 800,
-      visible: false,
-      disableSubmit: false
-    }
-  },
-  methods: {
-    add() {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.add();
-      })
-    },
-    edit(record) {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.edit(record);
-      });
-    },
-    close() {
-      this.$emit('close');
-      this.visible = false;
-    },
-    submitCallback() {
-      this.$emit('ok');
-      this.visible = false;
-    },
-    handleOk() {
-      this.$refs.realForm.submitForm();
-    },
-    handleCancel() {
-      this.close()
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-/** Button鎸夐挳闂磋窛 */
-.ant-btn {
-  margin-left: 30px;
-  margin-bottom: 30px;
-  float: right;
-}
-.drawer-footer{
-  position: absolute;
-  bottom: -8px;
-  width: 100%;
-  border-top: 1px solid #e8e8e8;
-  padding: 10px 16px;
-  text-align: right;
-  left: 0;
-  background: #fff;
-  border-radius: 0 0 2px 2px;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue
deleted file mode 100644
index 203c436..0000000
--- a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserForm.vue
+++ /dev/null
@@ -1,208 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Form
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form :form="form" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-item label="娴佺▼鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input :disabled="formDisabled" v-decorator="['actName', validatorRules.actName]" placeholder="璇疯緭鍏ユ祦绋嬪悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鎵�灞炶溅闂�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-equipment-production  v-model="model.departId" :multi="false" @back="backProductionInfo" :backProduction="true" :treeProductOpera="true"></j-select-equipment-production>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-select-multi-user valueKey="id" displayKey="realname" v-decorator="['approveUsers']"  placeholder="璇烽�夋嫨瀹℃壒浜�"/>
-              {{ getFormFieldValue('approveUsers') }}
-            </a-form-item>
-          </a-col>
-          <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">
-            <a-button @click="submitForm">鎻� 浜�</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import JFormContainer from '@/components/jeecg/JFormContainer'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-  import JSelectEquipmentProduction from '@comp/jeecgbiz/JSelectEquipmentProduction.vue'
-
-  export default {
-    name: 'AssignApproveUserForm',
-    components: {
-      JSelectEquipmentProduction,
-      JFormContainer,
-      JDictSelectTag,
-    },
-    props: {
-      //娴佺▼琛ㄥ崟data
-      formData: {
-        type: Object,
-        default: ()=>{},
-        required: false
-      },
-      //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗�
-      formBpm: {
-        type: Boolean,
-        default: false,
-        required: false
-      },
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        form: this.$form.createForm(this),
-        users:"",
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-          actName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'},
-            ]
-          },
-          departId: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'},
-            ]
-          },
-          approveUsers: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'},
-            ]
-          },
-          characters: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-        },
-        url: {
-          add: "/nc/definition/add",
-          edit: "/nc/definition/edit",
-          // queryById: "/zhshj/wglltwh/query/by/id"
-        },
-        userOptions:[]
-      }
-    },
-    computed: {
-      formDisabled(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return false
-          }
-          return true
-        }
-        return this.disabled
-      },
-      showFlowSubmitButton(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return true
-          }
-        }
-        return false
-      }
-    },
-    created () {
-      //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata
-      this.showFlowData();
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      backProductionInfo(info) {
-        // console.log(info)
-        this.model.productionIds = this.model.selectedProduction;
-        this.nextProductionOptions = info.map((item,index,arr)=>{
-          let c = {label:item.text, value: item.value+""}
-          return c;
-        })
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'actName','departId','approveUsers'))
-        })
-      },
-      getFormFieldValue(field){
-        return this.form.getFieldValue(field)
-      },
-      //娓叉煋娴佺▼琛ㄥ崟鏁版嵁
-      showFlowData(){
-        if(this.formBpm === true){
-          let params = {id:this.formData.dataId};
-          getAction(this.url.queryById,params).then((res)=>{
-            if(res.success){
-              this.edit (res.result);
-            }
-          });
-        }
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-      popupCallback(row){
-        this.form.setFieldsValue(pick(row,'actName','departId','approveUsers'))
-      },
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue
deleted file mode 100644
index 77c620a..0000000
--- a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <j-modal
-    :title="title"
-    :width="width"
-    :visible="visible"
-    switchFullscreen
-    @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <AssignApproveUserForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></AssignApproveUserForm>
-  </j-modal>
-</template>
-
-<script>
-
-  import AssignApproveUserForm from './AssignApproveUserForm.vue'
-  export default {
-    name: 'AssignApproveUserModal',
-    components: {
-      AssignApproveUserForm
-    },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
-    },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
-</script>
\ No newline at end of file
diff --git "a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue"
deleted file mode 100644
index d65feb5..0000000
--- "a/src/views/dnc/base/modules/AssignApproveUser/AssignApproveUserModal__Style\043Drawer.vue"
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal-Drawer
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-drawer
-    :title="title"
-    :width="width"
-    placement="right"
-    :closable="false"
-    @close="close"
-    destroyOnClose
-    :visible="visible">
-    <AssignApproveUserForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></AssignApproveUserForm>
-    <div class="drawer-footer">
-      <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button>
-      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-
-
-
-import AssignApproveUserForm from './AssignApproveUserForm.vue'
-
-export default {
-  name: 'AssignApproveUserModal',
-  components: {
-    AssignApproveUserForm,
-  },
-  data() {
-    return {
-      title: "鎿嶄綔",
-      width: 800,
-      visible: false,
-      disableSubmit: false
-    }
-  },
-  methods: {
-    add() {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.add();
-      })
-    },
-    edit(record) {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.edit(record);
-      });
-    },
-    close() {
-      this.$emit('close');
-      this.visible = false;
-    },
-    submitCallback() {
-      this.$emit('ok');
-      this.visible = false;
-    },
-    handleOk() {
-      this.$refs.realForm.submitForm();
-    },
-    handleCancel() {
-      this.close()
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-/** Button鎸夐挳闂磋窛 */
-.ant-btn {
-  margin-left: 30px;
-  margin-bottom: 30px;
-  float: right;
-}
-.drawer-footer{
-  position: absolute;
-  bottom: -8px;
-  width: 100%;
-  border-top: 1px solid #e8e8e8;
-  padding: 10px 16px;
-  text-align: right;
-  left: 0;
-  background: #fff;
-  border-radius: 0 0 2px 2px;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue
index b372634..0687755 100644
--- a/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue
+++ b/src/views/dnc/base/modules/ProductStructure/Document/NcDocumentAssignModal.vue
@@ -160,7 +160,7 @@
         checkedKeys: [],
         expandedKeys: [],
         autoExpandParent: true,
-        isExpandAllTreeNode: false,
+        isExpandAllTreeNode: true,
         date: [],
         url: {
           list: '/nc/doc/find/list'
diff --git a/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue b/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue
deleted file mode 100644
index ba8d8ff..0000000
--- a/src/views/dnc/base/modules/WorkDone/WorkDoneForm.vue
+++ /dev/null
@@ -1,266 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Form
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form :form="form" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-item label="浜у搧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['productName', validatorRules.productName]" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="閮ㄤ欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['componentName', validatorRules.componentName]" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24" v-if="part">
-            <a-form-item label="闆朵欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['partsName', validatorRules.partsName]" placeholder="璇疯緭鍏ラ浂浠跺悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['docName', validatorRules.docName]" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['deviceName', validatorRules.deviceName]" placeholder="璇疯緭鍏ヨ澶囧悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['version', validatorRules.version]" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['applyUser', validatorRules.applyUser]" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['applyReason', validatorRules.applyReason]" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['applyTime', validatorRules.applyTime]" placeholder="璇疯緭鍏ョ敵璇锋椂闂�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['approveUser', validatorRules.approveUser]" placeholder="璇疯緭鍏ュ鎵逛汉"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['approveTime', validatorRules.approveTime]" placeholder="璇疯緭鍏ュ鎵规椂闂�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-textarea v-decorator="['approveContent']" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/>
-            </a-form-item>
-          </a-col>
-          <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">
-            <a-button @click="submitForm">鎻� 浜�</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import JFormContainer from '@/components/jeecg/JFormContainer'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-
-  export default {
-    name: 'AssignApproveUserForm',
-    components: {
-      JFormContainer,
-      JDictSelectTag,
-    },
-    props: {
-      //娴佺▼琛ㄥ崟data
-      formData: {
-        type: Object,
-        default: ()=>{},
-        required: false
-      },
-      //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗�
-      formBpm: {
-        type: Boolean,
-        default: false,
-        required: false
-      },
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        form: this.$form.createForm(this),
-        users:"",
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-          actName: {
-            productName: [
-              { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'},
-            ]
-          },
-          componentName: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'},
-            ]
-          },
-          partsName: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'},
-            ]
-          },
-          docName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          deviceName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          version: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          applyUser: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          applyReason: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-        },
-        url: {
-          add: "/nc/definition/add",
-          edit: "/nc/definition/edit",
-          // queryById: "/zhshj/wglltwh/query/by/id"
-        },
-        userOptions:[],
-        part:false,
-      }
-    },
-    computed: {
-      formDisabled(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return false
-          }
-          return true
-        }
-        return this.disabled
-      },
-      showFlowSubmitButton(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return true
-          }
-        }
-        return false
-      }
-    },
-    created () {
-      //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata
-      this.showFlowData();
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.visible = true;
-        if (record.partsName){
-          this.part=true
-        }
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'productName','componentName','partsName','docName','deviceName','version','applyUser','applyReason','applyTime','approveUser','approveTime','approveContent'))
-        })
-      },
-      getFormFieldValue(field){
-        return this.form.getFieldValue(field)
-      },
-      //娓叉煋娴佺▼琛ㄥ崟鏁版嵁
-      showFlowData(){
-        if(this.formBpm === true){
-          let params = {id:this.formData.dataId};
-          getAction(this.url.queryById,params).then((res)=>{
-            if(res.success){
-              this.edit (res.result);
-            }
-          });
-        }
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-      popupCallback(row){
-        this.form.setFieldsValue(pick(row,'productName','componentName','partsName','docName','deviceName','version','applyUser','applyReason','applyTime','approveUser','approveTime','approveContent'))
-      },
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue b/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue
deleted file mode 100644
index 6ddaf3b..0000000
--- a/src/views/dnc/base/modules/WorkDone/WorkDoneModal.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <j-modal
-    :title="title"
-    :width="width"
-    :visible="visible"
-    switchFullscreen
-    @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <WorkDoneForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkDoneForm>
-  </j-modal>
-</template>
-
-<script>
-
-  import WorkDoneForm from './WorkDoneForm.vue'
-  export default {
-    name: 'AssignApproveUserModal',
-    components: {
-      WorkDoneForm
-    },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
-    },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
-</script>
\ No newline at end of file
diff --git "a/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue"
deleted file mode 100644
index c87a15d..0000000
--- "a/src/views/dnc/base/modules/WorkDone/WorkDoneModal__Style\043Drawer.vue"
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
- Description: 娴佺▼閰嶇疆绠$悊椤甸潰 Modal-Drawer
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-drawer
-    :title="title"
-    :width="width"
-    placement="right"
-    :closable="false"
-    @close="close"
-    destroyOnClose
-    :visible="visible">
-    <WorkDoneForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></WorkDoneForm>
-    <div class="drawer-footer">
-      <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button>
-      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-
-
-
-import WorkDoneForm from './WorkDoneForm.vue'
-
-export default {
-  name: 'AssignApproveUserModal',
-  components: {
-    WorkDoneForm,
-  },
-  data() {
-    return {
-      title: "鎿嶄綔",
-      width: 800,
-      visible: false,
-      disableSubmit: false
-    }
-  },
-  methods: {
-    add() {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.add();
-      })
-    },
-    edit(record) {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.edit(record);
-      });
-    },
-    close() {
-      this.$emit('close');
-      this.visible = false;
-    },
-    submitCallback() {
-      this.$emit('ok');
-      this.visible = false;
-    },
-    handleOk() {
-      this.$refs.realForm.submitForm();
-    },
-    handleCancel() {
-      this.close()
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-/** Button鎸夐挳闂磋窛 */
-.ant-btn {
-  margin-left: 30px;
-  margin-bottom: 30px;
-  float: right;
-}
-.drawer-footer{
-  position: absolute;
-  bottom: -8px;
-  width: 100%;
-  border-top: 1px solid #e8e8e8;
-  padding: 10px 16px;
-  text-align: right;
-  left: 0;
-  background: #fff;
-  border-radius: 0 0 2px 2px;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue
deleted file mode 100644
index 5dd7f57..0000000
--- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalForm.vue
+++ /dev/null
@@ -1,237 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙-璇︽儏 Form
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form :form="form" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.docName', validatorRules.docName]" :disabled="true" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.version', validatorRules.version]" :disabled="true" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.applyUser', validatorRules.applyUser]" :disabled="true" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-textarea v-decorator="['assignFileStream.applyReason']" rows="4" :disabled="true" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"/>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀵嗙骇涓�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <j-dict-select-tag placeholder="璇烽�夋嫨瀵嗙骇"  style="width:100%" :trigger-change="true" v-decorator="['secretLevel']" dictCode="dnc_secret_level"/>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鍚屾剰瀵煎叆宸ユ帶缃�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-checkbox v-model="isAgreed">鍚屾剰瀵煎叆宸ユ帶缃�</a-checkbox>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24" >
-            <a-form-item label="瀹℃壒鐘舵��" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-select placeholder="瀹℃壒鐘舵��">
-                <a-select-option v-if="isAgreed" value="2">鍚屾剰</a-select-option>
-                <a-select-option v-if="!isAgreed" value="3">鎷掔粷</a-select-option>
-              </a-select>
-<!--              <j-dict-select-tag  placeholder="璇烽�夋嫨瀹℃壒鐘舵��"  style="width:100%" :trigger-change="true" v-decorator="['status', validatorRules.status]" dictCode="dnc_assign_stream_status"/>-->
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-textarea v-decorator="['assignFileStream.approveContent', validatorRules.approveContent]" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/>
-            </a-form-item>
-          </a-col>
-          <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">
-            <a-button @click="submitForm">鎻� 浜�</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import JFormContainer from '@/components/jeecg/JFormContainer'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-
-  export default {
-    name: 'AssignApproveUserForm',
-    components: {
-      JFormContainer,
-      JDictSelectTag,
-    },
-    props: {
-      //娴佺▼琛ㄥ崟data
-      formData: {
-        type: Object,
-        default: ()=>{},
-        required: false
-      },
-      //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗�
-      formBpm: {
-        type: Boolean,
-        default: false,
-        required: false
-      },
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        form: this.$form.createForm(this),
-        users:"",
-        isAgreed:true,
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-          version: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ユ枃妗g増鏈�!'},
-            ]
-          },
-          applyUser: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨鐢宠浜�!'},
-            ]
-          },
-          approveContent: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ュ鎵规剰瑙�!'},
-            ]
-          },
-          docName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ユ枃妗e悕绉�!'},
-            ]
-          },
-          status: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨瀹℃壒鐘舵��!'},
-            ]
-          },
-        },
-        url: {
-          add: "/nc/definition/add",
-          edit: "/nc/definition/edit",
-          approve:"/nc/activit/assign/file/approve",
-          // queryById: "/zhshj/wglltwh/query/by/id"
-        },
-        userOptions:[],
-        part:false,
-        taskId:"",
-        streamId:"",
-      }
-    },
-    computed: {
-      formDisabled(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return false
-          }
-          return true
-        }
-        return this.disabled
-      },
-      showFlowSubmitButton(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return true
-          }
-        }
-        return false
-      }
-    },
-    created () {
-      //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata
-      this.showFlowData();
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        this.taskId=record.id;
-        this.streamId=record.businessKey;
-        if (record.assignFileStream.partsName){
-          this.part=true
-        }
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'assignFileStream'))
-        })
-      },
-      getFormFieldValue(field){
-        return this.form.getFieldValue(field)
-      },
-      //娓叉煋娴佺▼琛ㄥ崟鏁版嵁
-      showFlowData(){
-        if(this.formBpm === true){
-          let params = {id:this.formData.dataId};
-          getAction(this.url.queryById,params).then((res)=>{
-            if(res.success){
-              this.edit (res.result);
-            }
-          });
-        }
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let url=this.url.approve+"/"+this.taskId+"/"+this.streamId;
-            let method = 'post';
-            let formData = {};
-            formData.approveContent = values.assignFileStream.approveContent;
-            if (this.isAgreed){
-              formData.status ='2'
-            }else {
-              formData.status ='3'
-            }
-            console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData)
-            httpAction(url,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue
deleted file mode 100644
index 82410e0..0000000
--- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingApprovalModal.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <j-modal
-    :title="title"
-    :width="width"
-    :visible="visible"
-    switchFullscreen
-    @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <WorkUpcomingApprovalForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkUpcomingApprovalForm>
-  </j-modal>
-</template>
-
-<script>
-
-  import WorkUpcomingApprovalForm from './WorkUpcomingApprovalForm.vue'
-  export default {
-    name: 'AssignApproveUserModal',
-    components: {
-      WorkUpcomingApprovalForm
-    },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
-    },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue
deleted file mode 100644
index 2fff05c..0000000
--- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingForm.vue
+++ /dev/null
@@ -1,266 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙-璇︽儏 Form
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-spin :spinning="confirmLoading">
-    <j-form-container :disabled="formDisabled">
-      <a-form :form="form" slot="detail">
-        <a-row>
-          <a-col :span="24">
-            <a-form-item label="浜у搧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.productName', validatorRules.productName]" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="閮ㄤ欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.componentName', validatorRules.componentName]" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24" v-if="part">
-            <a-form-item label="闆朵欢鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.partsName', validatorRules.partsName]" placeholder="璇疯緭鍏ラ浂浠跺悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.docName', validatorRules.docName]" placeholder="璇疯緭鍏ユ枃妗e悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="璁惧鍚嶇О" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.deviceName', validatorRules.deviceName]" placeholder="璇疯緭鍏ヨ澶囧悕绉�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鏂囨。鐗堟湰" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.version', validatorRules.version]" placeholder="璇疯緭鍏ユ枃妗g増鏈�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.applyUser', validatorRules.applyUser]" placeholder="璇疯緭鍏ョ敵璇蜂汉"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠鍘熷洜" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.applyReason', validatorRules.applyReason]" placeholder="璇疯緭鍏ョ敵璇峰師鍥�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="鐢宠鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.applyTime', validatorRules.applyTime]" placeholder="璇疯緭鍏ョ敵璇锋椂闂�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒浜�" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.approveUser', validatorRules.approveUser]" placeholder="璇疯緭鍏ュ鎵逛汉"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒鏃堕棿" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-input  v-decorator="['assignFileStream.approveTime', validatorRules.approveTime]" placeholder="璇疯緭鍏ュ鎵规椂闂�"></a-input>
-            </a-form-item>
-          </a-col>
-          <a-col :span="24">
-            <a-form-item label="瀹℃壒鎰忚" :labelCol="labelCol" :wrapperCol="wrapperCol">
-              <a-textarea v-decorator="['assignFileStream.approveContent']" rows="4" placeholder="璇疯緭鍏ュ鎵规剰瑙�"/>
-            </a-form-item>
-          </a-col>
-          <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">
-            <a-button @click="submitForm">鎻� 浜�</a-button>
-          </a-col>
-        </a-row>
-      </a-form>
-    </j-form-container>
-  </a-spin>
-</template>
-
-<script>
-
-  import { httpAction, getAction } from '@/api/manage'
-  import pick from 'lodash.pick'
-  import JFormContainer from '@/components/jeecg/JFormContainer'
-  import JDictSelectTag from "@/components/dict/JDictSelectTag"
-
-  export default {
-    name: 'AssignApproveUserForm',
-    components: {
-      JFormContainer,
-      JDictSelectTag,
-    },
-    props: {
-      //娴佺▼琛ㄥ崟data
-      formData: {
-        type: Object,
-        default: ()=>{},
-        required: false
-      },
-      //琛ㄥ崟妯″紡锛歵rue娴佺▼琛ㄥ崟 false鏅�氳〃鍗�
-      formBpm: {
-        type: Boolean,
-        default: false,
-        required: false
-      },
-      //琛ㄥ崟绂佺敤
-      disabled: {
-        type: Boolean,
-        default: false,
-        required: false
-      }
-    },
-    data () {
-      return {
-        form: this.$form.createForm(this),
-        users:"",
-        model: {},
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
-        confirmLoading: false,
-        validatorRules: {
-          actName: {
-            productName: [
-              { required: true, message: '璇疯緭鍏ユ祦绋嬪悕绉�!'},
-            ]
-          },
-          componentName: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨閮ㄩ棬鍒嗙粍!'},
-            ]
-          },
-          partsName: {
-            rules: [
-              { required: true, message: '璇烽�夋嫨瀹℃壒浜�!'},
-            ]
-          },
-          docName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          deviceName: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          version: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          applyUser: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-          applyReason: {
-            rules: [
-              { required: true, message: '璇疯緭鍏ョ壒娈婂瓧绗�!'},
-            ]
-          },
-        },
-        url: {
-          add: "/nc/definition/add",
-          edit: "/nc/definition/edit",
-          // queryById: "/zhshj/wglltwh/query/by/id"
-        },
-        userOptions:[],
-        part:false,
-      }
-    },
-    computed: {
-      formDisabled(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return false
-          }
-          return true
-        }
-        return this.disabled
-      },
-      showFlowSubmitButton(){
-        if(this.formBpm===true){
-          if(this.formData.disabled===false){
-            return true
-          }
-        }
-        return false
-      }
-    },
-    created () {
-      //濡傛灉鏄祦绋嬩腑琛ㄥ崟锛屽垯闇�瑕佸姞杞芥祦绋嬭〃鍗昫ata
-      this.showFlowData();
-    },
-    methods: {
-      add () {
-        this.edit({});
-      },
-      edit (record) {
-        this.form.resetFields();
-        this.model = Object.assign({}, record);
-        if (record.assignFileStream.partsName){
-          this.part=true
-        }
-        this.visible = true;
-        this.$nextTick(() => {
-          this.form.setFieldsValue(pick(this.model,'assignFileStream'))
-        })
-      },
-      getFormFieldValue(field){
-        return this.form.getFieldValue(field)
-      },
-      //娓叉煋娴佺▼琛ㄥ崟鏁版嵁
-      showFlowData(){
-        if(this.formBpm === true){
-          let params = {id:this.formData.dataId};
-          getAction(this.url.queryById,params).then((res)=>{
-            if(res.success){
-              this.edit (res.result);
-            }
-          });
-        }
-      },
-      submitForm () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.form.validateFields((err, values) => {
-          if (!err) {
-            that.confirmLoading = true;
-            let httpurl = '';
-            let method = '';
-            if(!this.model.id){
-              httpurl+=this.url.add;
-              method = 'post';
-            }else{
-              httpurl+=this.url.edit;
-               method = 'put';
-            }
-            let formData = Object.assign(this.model, values);
-            console.log("琛ㄥ崟鎻愪氦鏁版嵁",formData)
-            httpAction(httpurl,formData,method).then((res)=>{
-              if(res.success){
-                that.$message.success(res.message);
-                that.$emit('ok');
-              }else{
-                that.$message.warning(res.message);
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-            })
-          }
-
-        })
-      },
-      popupCallback(row){
-        this.form.setFieldsValue(pick(row,'C'))
-      },
-    }
-  }
-</script>
\ No newline at end of file
diff --git a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue
deleted file mode 100644
index 7d2414c..0000000
--- a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal.vue
+++ /dev/null
@@ -1,65 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <j-modal
-    :title="title"
-    :width="width"
-    :visible="visible"
-    switchFullscreen
-    @ok="handleOk"
-    :okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
-    @cancel="handleCancel"
-    cancelText="鍏抽棴">
-    <WorkUpcomingForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></WorkUpcomingForm>
-  </j-modal>
-</template>
-
-<script>
-
-  import WorkUpcomingForm from './WorkUpcomingForm.vue'
-  export default {
-    name: 'AssignApproveUserModal',
-    components: {
-      WorkUpcomingForm
-    },
-    data () {
-      return {
-        title:'',
-        width:800,
-        visible: false,
-        disableSubmit: false
-      }
-    },
-    methods: {
-      add () {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.add();
-        })
-      },
-      edit (record) {
-        this.visible=true
-        this.$nextTick(()=>{
-          this.$refs.realForm.edit(record);
-        })
-      },
-      close () {
-        this.$emit('close');
-        this.visible = false;
-      },
-      handleOk () {
-        this.$refs.realForm.submitForm();
-      },
-      submitCallback(){
-        this.$emit('ok');
-        this.visible = false;
-      },
-      handleCancel () {
-        this.close()
-      }
-    }
-  }
-</script>
\ No newline at end of file
diff --git "a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue" "b/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue"
deleted file mode 100644
index 358107c..0000000
--- "a/src/views/dnc/base/modules/WorkUpcoming/WorkUpcomingModal__Style\043Drawer.vue"
+++ /dev/null
@@ -1,91 +0,0 @@
-<!--
- Description: 鎴戠殑宸ヤ綔鍙�-浠e姙 Modal-Drawer
- Author: 浣滆�� liuyh
- Date:   2025-01-15
--->
-<template>
-  <a-drawer
-    :title="title"
-    :width="width"
-    placement="right"
-    :closable="false"
-    @close="close"
-    destroyOnClose
-    :visible="visible">
-    <WorkUpcomingForm ref="realForm" @ok="submitCallback" :disabled="disableSubmit" normal></WorkUpcomingForm>
-    <div class="drawer-footer">
-      <a-button @click="handleCancel" style="margin-bottom: 0;">鍏抽棴</a-button>
-      <a-button v-if="!disableSubmit"  @click="handleOk" type="primary" style="margin-bottom: 0;">鎻愪氦</a-button>
-    </div>
-  </a-drawer>
-</template>
-
-<script>
-
-
-
-import WorkUpcomingForm from './WorkUpcomingForm.vue'
-
-export default {
-  name: 'AssignApproveUserModal',
-  components: {
-    WorkUpcomingForm,
-  },
-  data() {
-    return {
-      title: "鎿嶄綔",
-      width: 800,
-      visible: false,
-      disableSubmit: false
-    }
-  },
-  methods: {
-    add() {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.add();
-      })
-    },
-    edit(record) {
-      this.visible = true
-      this.$nextTick(() => {
-        this.$refs.realForm.edit(record);
-      });
-    },
-    close() {
-      this.$emit('close');
-      this.visible = false;
-    },
-    submitCallback() {
-      this.$emit('ok');
-      this.visible = false;
-    },
-    handleOk() {
-      this.$refs.realForm.submitForm();
-    },
-    handleCancel() {
-      this.close()
-    }
-  }
-}
-</script>
-
-<style lang="less" scoped>
-/** Button鎸夐挳闂磋窛 */
-.ant-btn {
-  margin-left: 30px;
-  margin-bottom: 30px;
-  float: right;
-}
-.drawer-footer{
-  position: absolute;
-  bottom: -8px;
-  width: 100%;
-  border-top: 1px solid #e8e8e8;
-  padding: 10px 16px;
-  text-align: right;
-  left: 0;
-  background: #fff;
-  border-radius: 0 0 2px 2px;
-}
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/common/DocumentVersionTableList.vue b/src/views/dnc/common/DocumentVersionTableList.vue
index aeb3240..ac703ba 100644
--- a/src/views/dnc/common/DocumentVersionTableList.vue
+++ b/src/views/dnc/common/DocumentVersionTableList.vue
@@ -1,157 +1,177 @@
 <template>
   <div>
     <a-table :columns="columns" :data-source="dataSource" bordered :pagination="false" :size="size" rowKey="fileId"
-             :customRow="customRow">
-      <template slot="rowIndex" slot-scope="text,record,index">
-        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{parseInt(index) + 1}}</span>
-      </template>
+             :customRow="customRow" :scroll="{y:189}">
       <template slot="fileName" slot-scope="text,record,index">
-      <span :style="{color:setCurrentVersionColor(record.publishFlag)}">
-        {{text}}.{{record.fileSuffix}}
+      <span>
+        {{ text }}.{{ record.fileSuffix }}
         <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span>
       </span>
       </template>
-      <template slot="docVersion" slot-scope="text,record">
-        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{text}}</span>
-      </template>
-      <template slot="fileSize" slot-scope="text,record">
-        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{(text/1024).toFixed(2)}}KB</span>
-      </template>
     </a-table>
+
     <SelectFileCompareModal :dataSource="dataSource" :setCurrentVersionColor="setCurrentVersionColor"
                             ref="selectFileCompareModalRef"/>
   </div>
 </template>
 
 <script>
-  import { JeecgListMixin } from '@/mixins/JeecgListMixin'
-  import { getAction } from '@/api/manage'
-  import dncApi from '@/api/dnc'
-  import SelectFileCompareModal from './SelectFileCompareModal'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { getAction } from '@/api/manage'
+import dncApi from '@/api/dnc'
+import SelectFileCompareModal from './SelectFileCompareModal'
 
-  export default {
-    name: 'DocumentVersionTableList',
-    mixins: [JeecgListMixin],
-    components: { SelectFileCompareModal },
-    props: {
-      currentDocumentInfo: {
-        type: Object
-      },
-      size: {
-        type: String
-      }
+export default {
+  name: 'DocumentVersionTableList',
+  mixins: [JeecgListMixin],
+  components: { SelectFileCompareModal },
+  props: {
+    currentDocumentInfo: {
+      type: Object
     },
-    data() {
-      return {
-        disableMixinCreated: true,
-        queryParams: {},
-        currentDocumentVersion: '',
-        columns: [
-          { title: '搴忓彿', dataIndex: 'rowIndex', width: 65, align: 'center', scopedSlots: { customRender: 'rowIndex' } },
-          { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } },
-          { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center', scopedSlots: { customRender: 'docVersion' } },
-          { title: '鏂囦欢澶у皬', dataIndex: 'fileSize', align: 'center', scopedSlots: { customRender: 'fileSize' } }
-        ],
-        url: {
-          list: '/nc/file/find/list'
-        }
-      }
-    },
-    created() {
-      this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod)
-    },
-    methods: {
-      loadData() {
-        this.dataSource = []
-        if (!this.url.list) {
-          this.$message.error('璇疯缃畊rl.list灞炴��!')
-          return
-        }
-        var params = this.getQueryParams()//鏌ヨ鏉′欢
-        params.docId = this.currentDocumentInfo.docId
-        if (!params) {
-          return false
-        }
-        this.loading = true
-        getAction(this.url.list, params).then((res) => {
-          if (res.success) {
-            this.dataSource = res.list
-            this.currentDocumentVersion = res.list.find(item => item.publishFlag).docVersion
-            console.log('currentDocumentVersion', this.currentDocumentVersion)
-          } else {
-            this.$message.warning(res.message)
+    size: {
+      type: String
+    }
+  },
+  data() {
+    return {
+      disableMixinCreated: true,
+      queryParams: {},
+      columns: [
+        {
+          title: '搴忓彿',
+          dataIndex: 'rowIndex',
+          width: 65,
+          align: 'center',
+          customRender: function(t, r, index) {
+            return parseInt(index) + 1
           }
-        }).finally(() => {
-          this.loading = false
-        })
-      },
-
-      /**
-       * 鎸囧畾褰撳墠鏂囨。涓哄綋鍓嶇増鏈�
-       * @param fileId 鏂囦欢Id
-       */
-      handleFileAssign({ fileId }) {
-        const that = this
-        dncApi.appointCurrentDocumentVersionApi(fileId)
-          .then(res => {
-            if (res.success) {
-              that.$notification.success({
-                message: '娑堟伅',
-                description: res.message
-              })
-              const currentAssignDocumentVersion = that.dataSource.find(item => item.fileId === fileId).docVersion
-              // 濡傛灉褰撳墠鎸囧畾鐗堟湰鐨勭増鏈彿涓庡綋鍓嶇増鏈殑鐗堟湰鍙蜂竴鑷村垯涓嶉噸鏂板姞杞藉垪琛ㄥ苟涓斾笉閲嶆柊閲婃斁棰勮鎺ュ彛璋冨彇
-              if (that.currentDocumentVersion === currentAssignDocumentVersion) return
-              that.loadData()
-              that.$emit('releaseFilePreviewApi')
-            } else {
-              that.$notification.error({
-                message: '娑堟伅',
-                description: res.message
-              })
-            }
-          })
-          .catch(err => {
-            that.$notification.error({
-              message: '娑堟伅',
-              description: err.message
-            })
-          })
-      },
-
-      handleFileAddRelative(_, modalTitle) {
-        if (!this.$refs.selectFileCompareModalRef) return
-        this.$refs.selectFileCompareModalRef.visible = true
-        this.$refs.selectFileCompareModalRef.title = modalTitle
-      },
-
-      customRow(record) {
-        return {
-          on: {
-            contextmenu: event => {
-              event.preventDefault()
-              this.$emit('handleTableContextMenuOpen', Object.assign({ param: 'file' }, record))
-            }
-          }
-        }
-      },
-
-      triggerCorrespondingMethod({ methodName, level, modalTitle, tableRowInfo }) {
-        if (this[methodName]) this[methodName](tableRowInfo, modalTitle)
-      },
-
-      /**
-       * 璁剧疆琛ㄦ牸涓负褰撳墠鐗堟湰鐨勬枃浠惰〃鏍艰棰滆壊鏍囪瘑
-       * @param publishFlag 鏄惁涓哄綋鍓嶇増鏈�
-       * @returns {string} 棰滆壊鏍囪瘑
-       */
-      setCurrentVersionColor(publishFlag) {
-        return publishFlag ? '#DB9538' : ''
+        },
+        { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } },
+        { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center' },
+        { title: '鏂囦欢澶у皬', dataIndex: 'fileSize', align: 'center' }
+      ],
+      url: {
+        list: '/nc/file/find/list'
       }
     }
+  },
+  created() {
+    this.$bus.$on('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod)
+  },
+  beforeDestroy() {
+    this.$bus.$off('tableMenuItemMethodTrigger', this.triggerCorrespondingMethod)
+  },
+  methods: {
+    // 鍔犺浇鍒楄〃鏁版嵁
+    loadData() {
+      this.dataSource = []
+      if (!this.url.list) {
+        this.$message.error('璇疯缃畊rl.list灞炴��!')
+        return
+      }
+      var params = this.getQueryParams()//鏌ヨ鏉′欢
+      params.docId = this.currentDocumentInfo.docId
+      if (!params) {
+        return false
+      }
+      this.loading = true
+      getAction(this.url.list, params)
+        .then((res) => {
+          if (res.success) this.dataSource = res.list
+          else {
+            that.$notification.error({
+              message: '娑堟伅',
+              description: res.message
+            })
+          }
+        })
+        .finally(() => {
+          this.loading = false
+        })
+    },
+
+    /**
+     * 鎸囧畾褰撳墠鏂囨。涓哄綋鍓嶇増鏈�
+     * @param fileId 鏂囦欢Id
+     */
+    handleFileAssign({ fileId, publishFlag }) {
+      const that = this
+      console.log('publishFlag', publishFlag)
+      // 濡傛灉褰撳墠鎸囧畾鐗堟湰鐨勭増鏈彿涓庡綋鍓嶇増鏈殑鐗堟湰鍙蜂竴鑷村垯涓嶅彂璧疯姹�
+      if (publishFlag) {
+        that.$notification.info({
+          message: '娑堟伅',
+          description: '褰撳墠鏂囨。鐗堟湰鍗充负褰撳墠鏂囦欢'
+        })
+        return
+      }
+      dncApi.appointCurrentDocumentVersionApi(fileId)
+        .then(res => {
+          if (res.success) {
+            that.$notification.success({
+              message: '娑堟伅',
+              description: res.message
+            })
+            that.loadData()
+            that.$emit('releaseFilePreviewApi')
+          } else {
+            that.$notification.error({
+              message: '娑堟伅',
+              description: res.message
+            })
+          }
+        })
+        .catch(err => {
+          that.$notification.error({
+            message: '娑堟伅',
+            description: err.message
+          })
+        })
+    },
+
+    /**
+     * 姣斿涓や釜鐗堟湰鐨勬枃妗e唴瀹�
+     * @param _
+     * @param modalTitle 寮圭獥鏍囬
+     */
+    handleFileAddRelative(_, modalTitle) {
+      if (!this.$refs.selectFileCompareModalRef) return
+      this.$refs.selectFileCompareModalRef.visible = true
+      this.$refs.selectFileCompareModalRef.title = modalTitle
+    },
+
+    /**
+     * 瀹氬埗琛ㄦ牸琛屾牱寮忓強鍔熻兘
+     * @param record 琛ㄦ牸琛屼俊鎭�
+     * @returns {{style: {color: (string)}, on: {contextmenu: *}}} 鏍峰紡鍙婂姛鑳�
+     */
+    customRow(record) {
+      return {
+        style: {
+          color: this.setCurrentVersionColor(record.publishFlag)
+        },
+        on: {
+          contextmenu: event => {
+            event.preventDefault()
+            this.$emit('handleTableContextMenuOpen', Object.assign({ param: 'file' }, record))
+          }
+        }
+      }
+    },
+
+    /**
+     * 璁剧疆琛ㄦ牸涓负褰撳墠鐗堟湰鐨勬枃浠惰〃鏍艰棰滆壊鏍囪瘑
+     * @param publishFlag 鏄惁涓哄綋鍓嶇増鏈�
+     * @returns {string} 棰滆壊鏍囪瘑
+     */
+    setCurrentVersionColor(publishFlag) {
+      return publishFlag ? '#DB9538' : ''
+    },
+
+    triggerCorrespondingMethod({ methodName, modalTitle, tableRowInfo }) {
+      if (this[methodName]) this[methodName](tableRowInfo, modalTitle)
+    }
   }
+}
 </script>
-
-<style scoped>
-
-</style>
\ No newline at end of file
diff --git a/src/views/dnc/common/FilePreview.vue b/src/views/dnc/common/FilePreview.vue
index 64508bc..163f222 100644
--- a/src/views/dnc/common/FilePreview.vue
+++ b/src/views/dnc/common/FilePreview.vue
@@ -12,87 +12,88 @@
 </template>
 
 <script>
-  import dncApi from '@/api/dnc'
+import dncApi from '@/api/dnc'
 
-  export default {
-    name: 'FilePreview',
-    components: {},
-    props: {
-      currentDocumentInfo: {
-        type: Object
-      }
-    },
-    data() {
-      return {
-        spinning: false,
-        pdfUrl: ''
-      }
-    },
-    methods: {
-      getFilePreviewByApi() {
-        const { docId, docSuffix } = this.currentDocumentInfo
-        console.log('currentDocumentInfo', this.currentDocumentInfo)
-        // if (docSuffix !== 'pdf') {
-        //   document.getElementById('ncFileInfo').innerHTML = ''
-        //   dncApi.getFilePreviewApi(docId)
-        //     .then(res => {
-        //       console.log('res----------------------------', res)
-        //       if (res.success && res.list) {
-        //         let str = ''
-        //         res.list.forEach((val, k) => {
-        //           str += val
-        //           if (k != res.list.length - 1) {
-        //             str += '\n'
-        //           }
-        //         })
-        //         document.getElementById('ncFileInfo').innerHTML = str
-        //       } else {
-        //         this.$notification.error({
-        //           message: '娑堟伅',
-        //           description: res.message
-        //         })
-        //       }
-        //     })
-        // } else {
-        //   dncApi.getPdfFilePreviewApi(docId)
-        //     .then(res => {
-        //       let url = window.URL.createObjectURL(new Blob([res], { type: 'application/zip' }))
-        //       this.pdfUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent(url)
-        //       console.log('url===========================', url)
-        //       console.log('pdfUrl===========================', this.pdfUrl)
-        //     })
-        // }
-        this.spinning = true
-        document.getElementById('ncFileInfo').innerHTML = ''
-        dncApi.getFilePreviewApi(docId)
-          .then(res => {
-            console.log('res----------------------------', res)
-            if (res.success && res.list) {
-              let str = ''
-              res.list.forEach((val, k) => {
-                str += val
-                if (k != res.list.length - 1) {
-                  str += '\n'
-                }
-              })
-              document.getElementById('ncFileInfo').innerHTML = str
-            } else {
-              this.$notification.error({
-                message: '娑堟伅',
-                description: res.message
-              })
-            }
-          })
-          .finally(() => {
-            this.spinning = false
-          })
-      },
+export default {
+  name: 'FilePreview',
+  components: {},
+  props: {
+    currentDocumentInfo: {
+      type: Object
+    }
+  },
+  data() {
+    return {
+      spinning: false,
+      pdfUrl: ''
+    }
+  },
+  methods: {
+    getFilePreviewByApi() {
+      const { docId, docSuffix } = this.currentDocumentInfo
+      console.log('currentDocumentInfo', this.currentDocumentInfo)
+      // if (docSuffix !== 'pdf') {
+      //   document.getElementById('ncFileInfo').innerHTML = ''
+      //   dncApi.getFilePreviewApi(docId)
+      //     .then(res => {
+      //       console.log('res----------------------------', res)
+      //       if (res.success && res.list) {
+      //         let str = ''
+      //         res.list.forEach((val, k) => {
+      //           str += val
+      //           if (k != res.list.length - 1) {
+      //             str += '\n'
+      //           }
+      //         })
+      //         document.getElementById('ncFileInfo').innerHTML = str
+      //       } else {
+      //         this.$notification.error({
+      //           message: '娑堟伅',
+      //           description: res.message
+      //         })
+      //       }
+      //     })
+      // } else {
+      //   dncApi.getPdfFilePreviewApi(docId)
+      //     .then(res => {
+      //       let url = window.URL.createObjectURL(new Blob([res], { type: 'application/zip' }))
+      //       this.pdfUrl = './static/pdf/web/viewer.html?file=' + encodeURIComponent(url)
+      //       console.log('url===========================', url)
+      //       console.log('pdfUrl===========================', this.pdfUrl)
+      //     })
+      // }
+      document.getElementById('ncFileInfo').innerHTML = ''
+      if (docSuffix == 'jpg' || docSuffix == 'png' || docSuffix == 'jpeg' || docSuffix === 'gif' || docSuffix == 'pdf') return
+      this.spinning = true
+      dncApi.getFilePreviewApi(docId)
+        .then(res => {
+          console.log('res----------------------------', res)
+          if (res.success && res.list) {
+            let str = ''
+            res.list.forEach((val, k) => {
+              str += val
+              if (k != res.list.length - 1) {
+                str += '\n'
+              }
+            })
+            document.getElementById('ncFileInfo').innerHTML = str
+          } else {
+            this.$notification.error({
+              message: '娑堟伅',
+              description: res.message
+            })
+          }
+        })
+        .finally(() => {
+          this.spinning = false
+        })
     }
   }
+}
 </script>
 
 <style scoped>
-  /deep/ .ant-spin-container {
-    height: 100%;
-  }
+/deep/ .ant-spin-container {
+  height: 100%;
+}
 </style>
\ No newline at end of file
diff --git a/src/views/dnc/common/SelectFileCompareModal.vue b/src/views/dnc/common/SelectFileCompareModal.vue
index 9c6b7cd..f471912 100644
--- a/src/views/dnc/common/SelectFileCompareModal.vue
+++ b/src/views/dnc/common/SelectFileCompareModal.vue
@@ -1,27 +1,22 @@
-<template>
-  <a-modal :title="title" :visible="visible" :width="700" @cancel="handleCloseModal" @ok="handleOpenCompareModal"
-           :maskClosable="false">
-    <a-table :dataSource="dataSource" :columns="columns" :pagination="false" bordered :scroll="{y:364}"
-             :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" rowKey="fileId">
-      <template slot="rowIndex" slot-scope="text,record,index">
-        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{parseInt(index) + 1}}</span>
-      </template>
-      <template slot="fileName" slot-scope="text,record,index">
-      <span :style="{color:setCurrentVersionColor(record.publishFlag)}">
-        {{text}}.{{record.fileSuffix}}
-        <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span>
-      </span>
-      </template>
-      <template slot="docVersion" slot-scope="text,record">
-        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">{{text}}</span>
-      </template>
-    </a-table>
+  <template>
+    <a-modal :title="title" :visible="visible" :width="700" @cancel="handleCloseModal" @ok="handleOpenCompareModal"
+             :maskClosable="false">
+      <a-table :dataSource="dataSource" :columns="columns" :pagination="false" bordered :scroll="{y:364}"
+               :customRow="customRow"
+               :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" rowKey="fileId">
+        <template slot="fileName" slot-scope="text,record,index">
+        <span :style="{color:setCurrentVersionColor(record.publishFlag)}">
+          {{ text }}.{{ record.fileSuffix }}
+          <span v-if="record.publishFlag">[褰撳墠鐗堟湰]</span>
+        </span>
+        </template>
+      </a-table>
 
-    <FileCompareModal ref="fileCompareModalRef" :fileDiffObject="fileDiffObject" :fileVersionArray="fileVersionArray"/>
-  </a-modal>
-</template>
+      <FileCompareModal ref="fileCompareModalRef" :fileDiffObject="fileDiffObject" :fileVersionArray="fileVersionArray"/>
+    </a-modal>
+  </template>
 
-<script>
+  <script>
   import dncApi from '@/api/dnc'
   import FileCompareModal from './FileCompareModal'
 
@@ -45,9 +40,17 @@
         fileVersionArray: [],
         selectedFileInfo: {},
         columns: [
-          { title: '搴忓彿', dataIndex: 'rowIndex', width: 65, align: 'center', scopedSlots: { customRender: 'rowIndex' } },
+          {
+            title: '搴忓彿',
+            dataIndex: 'rowIndex',
+            width: 65,
+            align: 'center',
+            customRender: function(t, r, index) {
+              return parseInt(index) + 1
+            }
+          },
           { title: '鏂囦欢鍚嶇О', dataIndex: 'fileName', align: 'center', scopedSlots: { customRender: 'fileName' } },
-          { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center', scopedSlots: { customRender: 'docVersion' } }
+          { title: '鐗堟湰鍙�', dataIndex: 'docVersion', align: 'center' }
         ]
       }
     },
@@ -65,11 +68,29 @@
       }
     },
     methods: {
+      /**
+       * 瀹氬埗琛ㄦ牸琛屾牱寮�
+       * @param record 琛ㄦ牸琛屼俊鎭�
+       * @returns {{style: {color: *}}} 鏍峰紡
+       */
+      customRow(record) {
+        return {
+          style: {
+            color: this.setCurrentVersionColor(record.publishFlag)
+          }
+        }
+      },
+
+      /**
+       * 褰撹〃鏍煎閫夋鏀瑰彉鏃惰Е鍙�
+       * @param selectedRowKeys 閫変腑鐨勬瘡涓�琛岀殑key闆嗗悎
+       */
       onSelectChange(selectedRowKeys) {
         if (selectedRowKeys.length < 3) this.selectedRowKeys = selectedRowKeys
         else this.selectedRowKeys = selectedRowKeys.slice(-2)
       },
 
+      // 鎵撳紑瀵规瘮绐楀彛
       handleOpenCompareModal() {
         const { $confirm, $notification, selectedRowKeys, title, dataSource } = this
         if (selectedRowKeys.length < 2) {
@@ -121,14 +142,15 @@
         })
       },
 
+      // 鍏抽棴绐楀彛
       handleCloseModal() {
         this.visible = false
         this.selectedRowKeys = []
       }
     }
   }
-</script>
+  </script>
 
-<style scoped>
+  <style scoped>
 
-</style>
\ No newline at end of file
+  </style>
\ No newline at end of file

--
Gitblit v1.9.3