| | |
| | | <template> |
| | | <div> |
| | | <el-dialog v-model="formDia" title="编辑" width="80%" @close="closeDia"> |
| | | <el-dialog v-model="formDia" title="新增查新" width="820px" @close="closeDia"> |
| | | <el-form ref="form" :model="form" :rules="formRules" label-width="auto"> |
| | | <el-col :span="8"> |
| | | <el-form-item label="标准名称:" prop="methodName"> |
| | | <el-input v-model="form.methodName" size="small"></el-input> |
| | | <el-input v-model="form.methodName" size="small" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="标准号:" prop="standardNo"> |
| | | <el-input v-model="form.standardNo" size="small"></el-input> |
| | | <el-input v-model="form.standardNo" size="small" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="文件编号:" prop="fileNo"> |
| | | <el-input v-model="form.fileNo" size="small"></el-input> |
| | | <el-form-item label="查新日期:" prop="searchNewTime"> |
| | | <el-date-picker v-model="form.searchNewTime" type="date" value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" placeholder="请选择日期" size="small" |
| | | style="width: 100%;" @change="refreshDefaultNextSearchDate"></el-date-picker> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="是否是新标准:" prop="isNewStandard"> |
| | | <el-radio-group v-model="form.isNewStandard"> |
| | | <el-radio :value="0">否</el-radio> |
| | | <el-radio :value="1">是</el-radio> |
| | | </el-radio-group> |
| | | <el-form-item label="下次查新日期:"> |
| | | <el-input v-if="isSearchRetired" model-value="不适用" size="small" disabled /> |
| | | <el-date-picker v-else v-model="form.nextSearchDate" type="date" value-format="YYYY-MM-DD" |
| | | format="YYYY-MM-DD" placeholder="默认三个月后,可修改" size="small" |
| | | style="width: 100%;" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="查新记录来源:" prop="searchNewSource"> |
| | | <el-radio-group v-model="form.searchNewSource"> |
| | | <el-radio :value="0">标准网</el-radio> |
| | | <el-radio :value="1">委托情报</el-radio> |
| | | <el-radio :value="2">标准数</el-radio> |
| | | <el-radio :value="3">其他</el-radio> |
| | | </el-radio-group> |
| | | <el-form-item label="查新人:"> |
| | | <el-input :model-value="currentUserName" size="small" disabled></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="8"> |
| | | <el-form-item label="备注:" prop="remark"> |
| | | <el-select v-model="form.remark" |
| | | clearable size="small"> |
| | | <el-option :value="0" label="作废"></el-option> |
| | | <el-option :value="1" label="替换"></el-option> |
| | | <el-form-item label="查新结果:" prop="searchNewResult"> |
| | | <el-select v-model="form.searchNewResult" placeholder="请选择" style="width: 100%" |
| | | @change="handleSearchResultChange"> |
| | | <el-option v-for="item in searchResultOptions" :key="item" :label="item" :value="item" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col v-if="form.isNewStandard == 1" :span="8"> |
| | | <el-col :span="24"> |
| | | <el-form-item label="查新记录来源:" prop="searchNewSource"> |
| | | <el-radio-group v-model="form.searchNewSource"> |
| | | <el-radio v-for="item in searchSourceOptions" :key="item.value" :value="item.value">{{ item.label }}</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col v-if="form.searchNewSource === 3" :span="24"> |
| | | <el-form-item label="其他来源名称:" prop="searchNewWebsite"> |
| | | <el-input v-model="form.searchNewWebsite" size="small" placeholder="选填,无需填写网址"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col v-if="form.searchNewResult === '已修订/有新版本替代'" :span="12"> |
| | | <el-form-item label="新标准名称:" prop="newMethodName"> |
| | | <el-input v-model="form.newMethodName" size="small"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col v-if="form.isNewStandard == 1" :span="8"> |
| | | <el-col v-if="form.searchNewResult === '已修订/有新版本替代'" :span="12"> |
| | | <el-form-item label="新标准号:" prop="newStandardNo"> |
| | | <el-input v-model="form.newStandardNo" size="small"></el-input> |
| | | </el-form-item> |
| | |
| | | import { |
| | | updateMethodSearchNew |
| | | } from '@/api/cnas/process/method/standardNoveltyRetrieval' |
| | | import useUserStore from '@/store/modules/user' |
| | | import { calculateNextSearchDate, isSearchRetired, searchResultOptions, searchSourceOptions } from '../options' |
| | | |
| | | export default { |
| | | name: 'FormDialog', |
| | |
| | | // 这里存放数据 |
| | | return { |
| | | formDia: false, |
| | | searchResultOptions, |
| | | searchSourceOptions, |
| | | form: { |
| | | methodName: '', |
| | | standardNo: '', |
| | | isNewStandard: '', |
| | | newMethodName: '', |
| | | newStandardNo: '', |
| | | searchNewTime: '', |
| | | nextSearchDate: '', |
| | | searchNewResult: '', |
| | | searchNewUserName: '', |
| | | searchNewWebsite: '', |
| | | searchNewSource: '', |
| | | remark: '', |
| | | fileNo: '', |
| | | }, |
| | | formRules: { |
| | | methodName: [{required: true, message: '请填写标准名称',trigger: 'blur'}], |
| | | standardNo: [{required: true, message: '请填写标准号',trigger: 'blur'}], |
| | | isNewStandard: [{required: true, message: '请选择是否是新标准',trigger: 'change'}], |
| | | newMethodName: [{required: false, message: '请填写新标准名称',trigger: 'blur'}], |
| | | newStandardNo: [{required: false, message: '请填写新标准号',trigger: 'blur'}], |
| | | newMethodName: [{required: true, message: '请填写新标准名称',trigger: 'blur'}], |
| | | newStandardNo: [{required: true, message: '请填写新标准号',trigger: 'blur'}], |
| | | searchNewTime: [{required: true, message: '请选择查新日期',trigger: 'change'}], |
| | | searchNewResult: [{required: true, message: '请选择查新结果',trigger: 'change'}], |
| | | searchNewSource: [{required: true, message: '请选择查新记录来源',trigger: 'change'}], |
| | | fileNo: [{required: true, message: '请填写文件号',trigger: 'blur'}], |
| | | }, |
| | |
| | | info: {}, |
| | | }; |
| | | }, |
| | | computed: { |
| | | isSearchRetired() { |
| | | return isSearchRetired(this.form.searchNewResult) |
| | | }, |
| | | currentUserName() { |
| | | const user = useUserStore() |
| | | return user.nickName || user.name || user.userName |
| | | } |
| | | }, |
| | | // 方法集合 |
| | | methods: { |
| | | openDia(row) { |
| | | this.formDia = true |
| | | this.form = {...row} |
| | | this.form = { |
| | | ...row, |
| | | searchNewTime: '', |
| | | nextSearchDate: '', |
| | | searchNewResult: '', |
| | | searchNewSource: null, |
| | | searchNewWebsite: '', |
| | | newMethodName: '', |
| | | newStandardNo: '' |
| | | } |
| | | }, |
| | | refreshDefaultNextSearchDate() { |
| | | this.form.nextSearchDate = this.isSearchRetired ? null |
| | | : calculateNextSearchDate(this.form.searchNewTime) |
| | | }, |
| | | handleSearchResultChange() { |
| | | if (this.isSearchRetired) { |
| | | this.form.nextSearchDate = null |
| | | } else if (!this.form.nextSearchDate) { |
| | | this.refreshDefaultNextSearchDate() |
| | | } |
| | | }, |
| | | handleEdit() { |
| | | this.$refs['form'].validate((valid) => { |
| | |
| | | this.editLoad = true |
| | | const processMethodSearchNews = this.HaveJson(this.form) |
| | | delete processMethodSearchNews.createTime |
| | | processMethodSearchNews.searchNewTime = `${processMethodSearchNews.searchNewTime} 00:00:00` |
| | | if (processMethodSearchNews.searchNewSource !== 3) { |
| | | processMethodSearchNews.searchNewWebsite = null |
| | | } |
| | | updateMethodSearchNew(processMethodSearchNews).then(res => { |
| | | this.editLoad = false |
| | | if (res.code === 200){ |
| | | this.$message.success('操作成功') |
| | | this.$message.success('查新记录已保存') |
| | | this.closeDia() |
| | | } |
| | | }).catch(err => { |