kongxy
4 months ago
commit
1454dd9ec4
41 changed files with 14469 additions and 0 deletions
@ -0,0 +1,8 @@
|
||||
# Default ignored files |
||||
/shelf/ |
||||
/workspace.xml |
||||
# Editor-based HTTP Client requests |
||||
/httpRequests/ |
||||
# Datasource local storage ignored files |
||||
/dataSources/ |
||||
/dataSources.local.xml |
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="DataSourceManagerImpl" format="xml" multifile-model="true"> |
||||
<data-source source="LOCAL" name="demo" uuid="726f75a3-600c-4ae3-b122-44ab6f69d5c2"> |
||||
<driver-ref>mysql.8</driver-ref> |
||||
<synchronize>true</synchronize> |
||||
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver> |
||||
<jdbc-url>jdbc:mysql://47.121.132.11:3306/demo</jdbc-url> |
||||
<working-dir>$ProjectFileDir$</working-dir> |
||||
</data-source> |
||||
</component> |
||||
</project> |
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager"> |
||||
<settings> |
||||
<option name="USE_PROJECT_PROFILE" value="false" /> |
||||
<version value="1.0" /> |
||||
</settings> |
||||
</component> |
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="Black"> |
||||
<option name="sdkName" value="Python 3.12 (process_manage)" /> |
||||
</component> |
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.12 (process_manage)" project-jdk-type="Python SDK" /> |
||||
</project> |
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="ProjectModuleManager"> |
||||
<modules> |
||||
<module fileurl="file://$PROJECT_DIR$/.idea/process_manage.iml" filepath="$PROJECT_DIR$/.idea/process_manage.iml" /> |
||||
</modules> |
||||
</component> |
||||
</project> |
@ -0,0 +1,10 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<module type="PYTHON_MODULE" version="4"> |
||||
<component name="NewModuleRootManager"> |
||||
<content url="file://$MODULE_DIR$"> |
||||
<excludeFolder url="file://$MODULE_DIR$/.venv" /> |
||||
</content> |
||||
<orderEntry type="inheritedJdk" /> |
||||
<orderEntry type="sourceFolder" forTests="false" /> |
||||
</component> |
||||
</module> |
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="DdlMappings"> |
||||
<mapping uuid="4957defd-0d8d-4246-a757-a18644d3ea0f" name="mysql_remote"> |
||||
<data-sources db="ea086fd1-b37c-4a7b-a54a-61bc70808a2f" /> |
||||
</mapping> |
||||
</component> |
||||
</project> |
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project version="4"> |
||||
<component name="VcsDirectoryMappings"> |
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" /> |
||||
</component> |
||||
</project> |
@ -0,0 +1,19 @@
|
||||
from sqlalchemy.orm import Session |
||||
|
||||
import models, schemas |
||||
|
||||
|
||||
def get_equipment(db: Session, equipment_id: int): |
||||
return db.query(models.Equipment).filter(models.Equipment.id == equipment_id).first() |
||||
|
||||
|
||||
def get_equipments(db: Session, skip: int = 0, limit: int = 10): |
||||
return db.query(models.Equipment).offset(skip).limit(limit).all() |
||||
|
||||
|
||||
def create_equipment(db: Session, equipment: schemas.EquipmentCreate): |
||||
db_equipment = models.Equipment(**equipment.dict()) |
||||
db.add(db_equipment) |
||||
db.commit() |
||||
db.refresh(db_equipment) |
||||
return db_equipment |
@ -0,0 +1,7 @@
|
||||
from sqlalchemy import create_engine |
||||
from sqlalchemy.orm import sessionmaker |
||||
from sqlalchemy.ext.declarative import declarative_base |
||||
|
||||
engine = create_engine("mysql+pymysql://admin:Admin_123@47.121.132.11:3306/demo") |
||||
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) |
||||
Base = declarative_base() |
@ -0,0 +1,34 @@
|
||||
from fastapi import FastAPI, Depends |
||||
from sqlalchemy.orm import Session |
||||
|
||||
import crud |
||||
import schemas |
||||
from database import SessionLocal |
||||
|
||||
app = FastAPI() |
||||
|
||||
|
||||
def get_db(): |
||||
db = SessionLocal() |
||||
try: |
||||
yield db |
||||
finally: |
||||
db.close() |
||||
|
||||
|
||||
@app.post("/equipment", response_model=schemas.Equipment) |
||||
def create_equipment(equipment: schemas.EquipmentCreate, db: Session = Depends(get_db)): |
||||
db_equipment = crud.create_equipment(db=db, equipment=equipment) |
||||
return db_equipment |
||||
|
||||
|
||||
@app.get("/equipments", response_model=list[schemas.Equipment]) |
||||
def get_equipments(skip: int = 0, limit: int = 10, db: Session = Depends(get_db)): |
||||
equipments = crud.get_equipments(db, skip=skip, limit=limit) |
||||
return equipments |
||||
|
||||
|
||||
@app.get("/equipments/{equipment_id}", response_model=schemas.Equipment) |
||||
def get_equipment(equipment_id: int, db: Session = Depends(get_db)): |
||||
equipment = crud.get_equipment(db=db, equipment_id=equipment_id) |
||||
return equipment |
@ -0,0 +1,35 @@
|
||||
from sqlalchemy import Column, Integer, String, DECIMAL |
||||
|
||||
from database import Base |
||||
|
||||
|
||||
# class Equipment(Base): |
||||
# __tablename__ = 'equipment' |
||||
# |
||||
# id = Column(Integer, primary_key=True) |
||||
# plan_year = Column(String) |
||||
# purchasing_authority = Column(String) |
||||
# department = Column(String) |
||||
# equipment_name = Column(String) |
||||
# quantity = Column(Integer) |
||||
# budget_unit_price = Column(DECIMAL) |
||||
# final_unit_price = Column(DECIMAL) |
||||
# purchase_item_no = Column(String) |
||||
# progress = Column(String) |
||||
# delete_flag = Column(Integer, default=0) |
||||
# |
||||
|
||||
class Device(Base): |
||||
__tablename__ = 'device' |
||||
|
||||
id = Column(Integer, primary_key=True) |
||||
year = Column(Integer) |
||||
name = Column(String) |
||||
auth = Column(Integer) |
||||
dep = Column(String) |
||||
num = Column(Integer) |
||||
pPrice = Column(DECIMAL) |
||||
dPrice = Column(DECIMAL) |
||||
proNum = Column(String) |
||||
process = Column(Integer) |
||||
delFlag = Column(Integer, default=0) |
@ -0,0 +1,21 @@
|
||||
from pydantic import BaseModel |
||||
|
||||
|
||||
class EquipmentCreate(BaseModel): |
||||
plan_year: str |
||||
purchasing_authority: str |
||||
department: str |
||||
equipment_name: str |
||||
quantity: int |
||||
budget_unit_price: float |
||||
final_unit_price: float |
||||
purchase_item_no: str |
||||
progress: str |
||||
delete_flag: int = 0 |
||||
|
||||
|
||||
class Equipment(EquipmentCreate): |
||||
id: int |
||||
|
||||
class Config: |
||||
orm_mode = True |
@ -0,0 +1,11 @@
|
||||
# Test your FastAPI endpoints |
||||
|
||||
GET http://127.0.0.1:8000/ |
||||
Accept: application/json |
||||
|
||||
### |
||||
|
||||
GET http://127.0.0.1:8000/hello/User |
||||
Accept: application/json |
||||
|
||||
### |
@ -0,0 +1,23 @@
|
||||
.DS_Store |
||||
node_modules |
||||
/dist |
||||
|
||||
|
||||
# local env files |
||||
.env.local |
||||
.env.*.local |
||||
|
||||
# Log files |
||||
npm-debug.log* |
||||
yarn-debug.log* |
||||
yarn-error.log* |
||||
pnpm-debug.log* |
||||
|
||||
# Editor directories and files |
||||
.idea |
||||
.vscode |
||||
*.suo |
||||
*.ntvs* |
||||
*.njsproj |
||||
*.sln |
||||
*.sw? |
@ -0,0 +1,24 @@
|
||||
# yxgck-life-cycle |
||||
|
||||
## Project setup |
||||
``` |
||||
npm install |
||||
``` |
||||
|
||||
### Compiles and hot-reloads for development |
||||
``` |
||||
npm run serve |
||||
``` |
||||
|
||||
### Compiles and minifies for production |
||||
``` |
||||
npm run build |
||||
``` |
||||
|
||||
### Lints and fixes files |
||||
``` |
||||
npm run lint |
||||
``` |
||||
|
||||
### Customize configuration |
||||
See [Configuration Reference](https://cli.vuejs.org/config/). |
@ -0,0 +1,5 @@
|
||||
module.exports = { |
||||
presets: [ |
||||
'@vue/cli-plugin-babel/preset' |
||||
] |
||||
} |
@ -0,0 +1,19 @@
|
||||
{ |
||||
"compilerOptions": { |
||||
"target": "es5", |
||||
"module": "esnext", |
||||
"baseUrl": "./", |
||||
"moduleResolution": "node", |
||||
"paths": { |
||||
"@/*": [ |
||||
"src/*" |
||||
] |
||||
}, |
||||
"lib": [ |
||||
"esnext", |
||||
"dom", |
||||
"dom.iterable", |
||||
"scripthost" |
||||
] |
||||
} |
||||
} |
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,45 @@
|
||||
{ |
||||
"name": "yxgck-life-cycle", |
||||
"version": "0.1.0", |
||||
"private": true, |
||||
"scripts": { |
||||
"serve": "vue-cli-service serve", |
||||
"build": "vue-cli-service build", |
||||
"lint": "vue-cli-service lint" |
||||
}, |
||||
"dependencies": { |
||||
"core-js": "^3.8.3", |
||||
"element-ui": "^2.15.13", |
||||
"vue": "^2.6.14", |
||||
"vue-router": "^3.6.5" |
||||
}, |
||||
"devDependencies": { |
||||
"@babel/core": "^7.12.16", |
||||
"@babel/eslint-parser": "^7.12.16", |
||||
"@vue/cli-plugin-babel": "~5.0.0", |
||||
"@vue/cli-plugin-eslint": "~5.0.0", |
||||
"@vue/cli-service": "~5.0.0", |
||||
"eslint": "^7.32.0", |
||||
"eslint-plugin-vue": "^8.0.3", |
||||
"vue-template-compiler": "^2.6.14" |
||||
}, |
||||
"eslintConfig": { |
||||
"root": true, |
||||
"env": { |
||||
"node": true |
||||
}, |
||||
"extends": [ |
||||
"plugin:vue/essential", |
||||
"eslint:recommended" |
||||
], |
||||
"parserOptions": { |
||||
"parser": "@babel/eslint-parser" |
||||
}, |
||||
"rules": {} |
||||
}, |
||||
"browserslist": [ |
||||
"> 1%", |
||||
"last 2 versions", |
||||
"not dead" |
||||
] |
||||
} |
@ -0,0 +1,122 @@
|
||||
html { |
||||
color: #000; |
||||
background: #FFF; |
||||
} |
||||
|
||||
body, |
||||
div, |
||||
dl, |
||||
dt, |
||||
dd, |
||||
ul, |
||||
ol, |
||||
li, |
||||
h1, |
||||
h2, |
||||
h3, |
||||
h4, |
||||
h5, |
||||
h6, |
||||
pre, |
||||
form, |
||||
fieldset, |
||||
input, |
||||
textarea, |
||||
p, |
||||
blockquote, |
||||
th, |
||||
td { |
||||
margin: 0; |
||||
padding: 0; |
||||
} |
||||
|
||||
table { |
||||
border-collapse: collapse; |
||||
border-spacing: 0; |
||||
} |
||||
|
||||
fieldset, |
||||
img { |
||||
border: 0; |
||||
} |
||||
|
||||
address, |
||||
caption, |
||||
cite, |
||||
code, |
||||
dfn, |
||||
em, |
||||
strong, |
||||
th, |
||||
var { |
||||
font-style: normal; |
||||
font-weight: normal; |
||||
} |
||||
|
||||
ol, |
||||
ul { |
||||
list-style: none; |
||||
} |
||||
|
||||
caption, |
||||
th { |
||||
text-align: left; |
||||
} |
||||
|
||||
h1, |
||||
h2, |
||||
h3, |
||||
h4, |
||||
h5, |
||||
h6 { |
||||
font-size: initial; |
||||
font-weight: normal; |
||||
} |
||||
|
||||
q:before, |
||||
q:after { |
||||
content: ''; |
||||
} |
||||
|
||||
abbr, |
||||
acronym { |
||||
border: 0; |
||||
} |
||||
|
||||
.el-menu.el-menu--horizontal { |
||||
border-bottom: none !important |
||||
} |
||||
|
||||
.el-menu--horizontal>.el-menu-item.is-active { |
||||
border-bottom: 2px solid #fff !important; |
||||
color: #303133; |
||||
} |
||||
|
||||
.box { |
||||
margin: 16px 16px 0 16px; |
||||
} |
||||
|
||||
/* 定制整个滚动条 */ |
||||
::-webkit-scrollbar { |
||||
width: 8px; |
||||
height: 8px; |
||||
/* 设置滚动条的宽度 */ |
||||
} |
||||
|
||||
/* 定制滚动条轨道 */ |
||||
::-webkit-scrollbar-track { |
||||
background: #f1f1f1; |
||||
/* 设置轨道的背景颜色 */ |
||||
} |
||||
|
||||
/* 定制滚动条的滑块(thumb) */ |
||||
::-webkit-scrollbar-thumb { |
||||
background: #9e9d9d; |
||||
/* 设置滑块的背景颜色 */ |
||||
} |
||||
|
||||
/* 当滑块悬停或活动时的样式 */ |
||||
::-webkit-scrollbar-thumb:hover { |
||||
background: #8e8d8d; |
||||
/* 设置滑块在悬停状态下的背景颜色 */ |
||||
} |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,19 @@
|
||||
<!DOCTYPE html> |
||||
<html lang=""> |
||||
<head> |
||||
<meta charset="utf-8"> |
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
||||
<meta name="viewport" content="width=device-width,initial-scale=1.0"> |
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico"> |
||||
<title><%= htmlWebpackPlugin.options.title %></title> |
||||
<link rel="stylesheet" href="./Reset.css"> |
||||
</head> |
||||
<body> |
||||
<noscript> |
||||
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong> |
||||
</noscript> |
||||
<div id="app"></div> |
||||
<!-- built files will be auto injected --> |
||||
</body> |
||||
</html> |
||||
|
@ -0,0 +1,23 @@
|
||||
<template> |
||||
<div id="app"> |
||||
<nav-header/> |
||||
<router-view></router-view> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import navHeader from './components/navHeader.vue' |
||||
|
||||
export default { |
||||
name: 'App', |
||||
components: { |
||||
navHeader, |
||||
}, |
||||
mounted() { |
||||
}, |
||||
} |
||||
</script> |
||||
|
||||
<style scoped> |
||||
|
||||
</style> |
After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 7.5 KiB |
@ -0,0 +1,527 @@
|
||||
<template> |
||||
<div class="box"> |
||||
<el-row> |
||||
<el-col :span="24"> |
||||
<el-breadcrumb separator="/"> |
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> |
||||
<el-breadcrumb-item :to="{ path: '/contract' }" |
||||
>合同管理</el-breadcrumb-item |
||||
> |
||||
<el-breadcrumb-item>合同详情</el-breadcrumb-item> |
||||
</el-breadcrumb> |
||||
</el-col> |
||||
</el-row> |
||||
<div class="main-container"> |
||||
<el-card class="box-card" shadow="always"> |
||||
<div slot="header" class="clearfix"> |
||||
<h3>一、合同基本信息</h3> |
||||
</div> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
label-width="120px" |
||||
label-position="right" |
||||
:disabled="readonly" |
||||
:model="formInline" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="合同名称"> |
||||
<el-input |
||||
v-model="formInline.htmc" |
||||
placeholder="合同名称" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="项目名称"> |
||||
<el-input v-model="formInline.ks" placeholder="项目名称"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="项目编号"> |
||||
<el-input |
||||
v-model="formInline.ttmc" |
||||
placeholder="项目编号" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="合同总金额(万元)"> |
||||
<el-input |
||||
v-model="formInline.sl" |
||||
placeholder="合同总金额(万元)" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="交接日期"> |
||||
<el-input v-model="formInline.dw" placeholder="交接日期"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="验收日期"> |
||||
<el-date-picker type="date" placeholder="选择日期"></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="交接人" label-width="85px"> |
||||
<el-input v-model="formInline.dw" placeholder="交接人"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方公司"> |
||||
<el-input placeholder="人福医疗"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方联系人"> |
||||
<el-input placeholder="王丽"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方联系方式"> |
||||
<el-input placeholder="17777777777"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
<el-card class="box-card" shadow="always"> |
||||
<div slot="header" class="clearfix"> |
||||
<h3>二、合同标的</h3> |
||||
<div class="bd-btns"> |
||||
<el-button |
||||
type="primary" |
||||
:disabled="readonly" |
||||
size="small" |
||||
icon="el-icon-plus" |
||||
@click="onAddDevice" |
||||
>新增</el-button |
||||
> |
||||
</div> |
||||
<el-table |
||||
ref="multipleTable" |
||||
border |
||||
fit |
||||
:data="tableData" |
||||
tooltip-effect="dark" |
||||
style="width: 100%" |
||||
:summary-method="getSummaries" |
||||
show-summary |
||||
@selection-change="handleSelectionChange" |
||||
> |
||||
<el-table-column type="selection" width="55"> </el-table-column> |
||||
<el-table-column type="index" width="50"> </el-table-column> |
||||
<el-table-column label="设备名称" width="200"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.name" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="科室"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.ks" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="型号" width="200"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.xh" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="生产厂家" width="200"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.sccj" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="数量"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.sl" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="单价(万元)"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.dj" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="总价(万元)"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
:disabled="readonly" |
||||
v-model="scope.row.zj" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="备注" width="180"> |
||||
<template slot-scope="scope"> |
||||
<el-input |
||||
type="textarea" |
||||
:disabled="readonly" |
||||
v-model="scope.row.bz" |
||||
></el-input> |
||||
</template> |
||||
</el-table-column> |
||||
<el-table-column label="操作"> |
||||
<template slot-scope="scope"> |
||||
<el-button |
||||
:disabled="readonly" |
||||
size="mini" |
||||
type="danger" |
||||
@click="handleDelete(scope.$index, scope.row)" |
||||
>删除</el-button |
||||
> |
||||
</template> |
||||
</el-table-column> |
||||
</el-table> |
||||
</div> |
||||
</el-card> |
||||
<el-card class="box-card" shadow="always"> |
||||
<div slot="header" class="clearfix"> |
||||
<h3>三、合同进展</h3> |
||||
</div> |
||||
<el-collapse v-model="activeNames"> |
||||
<el-collapse-item title="合同签订" name="3"> |
||||
<template slot="title"> |
||||
<h3>合同签订</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-timeline-item |
||||
v-for="(item, index) in htqd" |
||||
:key="timestamps3[index]" |
||||
:timestamp="timestamps3[index]" |
||||
placement="top" |
||||
> |
||||
<el-card> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="item" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="经办人"> |
||||
<el-input |
||||
v-model="item.name" |
||||
placeholder="经办人" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="进展"> |
||||
<el-select v-model="item.process" placeholder="进展"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="开始时间"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="item.startDate" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="结束时间"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="item.endDate" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="item.remark"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
</el-timeline-item> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="设备验收" name="4"> |
||||
<template slot="title"> |
||||
<h3>设备验收</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="sbys" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="sbys.zt" placeholder="采购状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="验收人"> |
||||
<el-input v-model="sbys.name" placeholder="验收人"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="验收日期"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="sbys.date" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="档案号"> |
||||
<el-input v-model="sbys.dah" placeholder="档案号"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="sbys.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="付款" name="5"> |
||||
<template slot="title"> |
||||
<h3>付款</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="fk" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="fk.zt" placeholder="采购状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="付款批次"> |
||||
<el-input v-model="fk.fkpc" placeholder="付款批次"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="金额"> |
||||
<el-input v-model="fk.je" placeholder="金额"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="fk.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="质保金" name="6"> |
||||
<template slot="title"> |
||||
<h3>质保金</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="zbj" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="zbj.zt" placeholder="状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="质保金到期日期"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="zbj.date" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="经办人"> |
||||
<el-input v-model="zbj.name" placeholder="经办人"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="付款金额"> |
||||
<el-input v-model="zbj.je" placeholder="付款金额"></el-input> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="付款批次"> |
||||
<el-input v-model="zbj.fkpc" placeholder="付款批次"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="zbj.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
</el-collapse> |
||||
</el-card> |
||||
</div> |
||||
<div class="operation-box"> |
||||
<el-button type="primary" v-if="readonly" @click="edit">编辑</el-button> |
||||
<el-button type="primary" v-else @click="cancel">取消</el-button> |
||||
<el-button type="primary" @click="save">保存</el-button> |
||||
<el-button @click="back">返回上页</el-button> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import cddata from "../../data/contactDataDetail"; |
||||
export default { |
||||
data() { |
||||
return { |
||||
formInline: { |
||||
user: "", |
||||
region: "", |
||||
}, |
||||
readonly: true, |
||||
htqd: cddata.htqd, |
||||
timestamps1: [ |
||||
"组织需求形式审查 2018/4/12 20:46", |
||||
"业务行政会议审议 2018/4/3", |
||||
"组织采购意向公示 2018/4/2", |
||||
"组织技术参数论证 2018/4/2", |
||||
"技术参数复核 2018/4/2", |
||||
"采购需求编报 2018/4/2", |
||||
"质疑答复流标复核 2018/4/2", |
||||
], |
||||
timestamps3: [ |
||||
"采购交接 2018/4/12 20:46", |
||||
"医工科审核 2018/4/3", |
||||
"需求科室 2018/4/2", |
||||
"财务审核 2018/4/2", |
||||
"审核监管科审核 2018/4/2", |
||||
"法务 2018/4/2", |
||||
"印章申请 2018/4/2", |
||||
"合同签订 2018/4/2", |
||||
], |
||||
cg: cddata.cg, |
||||
sbys: cddata.sbys, //设备验收 |
||||
fk: cddata.fk, //付款 |
||||
zbj: cddata.zbj, //质保金 |
||||
activeNames: ["3", "4", "5", "6"], |
||||
tableData: [ |
||||
{ |
||||
name: "便携支气管镜", |
||||
ks: "神经外科", |
||||
xh: "inslight iS3", |
||||
sccj: "深圳因赛斯医疗科技有限公司", |
||||
sl: "1", |
||||
dj: "7.85", |
||||
zj: "7.85", |
||||
bz: "2022年度计划", |
||||
}, |
||||
], |
||||
multipleSelection: [], |
||||
}; |
||||
}, |
||||
methods: { |
||||
//汇总设备总价 |
||||
getSummaries(){ |
||||
const sums = []; |
||||
sums[7] = '总价(万元)'; |
||||
var price = 0 |
||||
this.tableData.forEach((item) => { |
||||
price += parseFloat(item.zj) |
||||
}); |
||||
sums[8] = price; |
||||
return sums; |
||||
}, |
||||
//删除设备 |
||||
handleDelete(index) { |
||||
this.tableData.splice(index, 1); |
||||
console.log(this.tableData); |
||||
}, |
||||
//新增设备 |
||||
onAddDevice() { |
||||
var obj = { |
||||
name: "", |
||||
ks: "", |
||||
xh: "", |
||||
sccj: "", |
||||
sl: "", |
||||
dj: "0", |
||||
zj: "0", |
||||
bz: "", |
||||
}; |
||||
this.tableData.push(obj); |
||||
}, |
||||
onSubmit() { |
||||
console.log("submit!"); |
||||
}, |
||||
edit() { |
||||
this.readonly = false; |
||||
}, |
||||
save() { |
||||
this.$confirm("是否保存?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.$message({ |
||||
type: "success", |
||||
message: "保存成功!", |
||||
}); |
||||
}) |
||||
.catch(() => { |
||||
this.$message({ |
||||
type: "info", |
||||
message: "已取消保存", |
||||
}); |
||||
}); |
||||
}, |
||||
cancel() { |
||||
this.$confirm("是否取消编辑?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.readonly = true; |
||||
}) |
||||
.catch(() => {}); |
||||
}, |
||||
back() { |
||||
this.$router.push("/device"); |
||||
}, |
||||
step(num) { |
||||
this.activeNames = num; |
||||
}, |
||||
handleSelectionChange(val) { |
||||
this.multipleSelection = val; |
||||
}, |
||||
}, |
||||
mounted() { |
||||
console.log(this.$route.query.id); |
||||
if (this.$route.query.id) { |
||||
//查询页面,查询表单信息 |
||||
} else { |
||||
//新增页面,页面可编辑 |
||||
this.readonly = false; |
||||
} |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style> |
||||
.main-container { |
||||
width: calc(100% - 48px); |
||||
height: calc(100vh - 160px); |
||||
margin: 12px 12px 0 24px; |
||||
background-color: rgb(236, 233, 233); |
||||
overflow: auto; |
||||
} |
||||
|
||||
.operation-box { |
||||
display: flex; |
||||
justify-content: center; |
||||
align-content: center; |
||||
background-color: rgba(141, 139, 139, 0.348); |
||||
width: calc(100% - 48px); |
||||
padding: 8px 0; |
||||
margin: 0 24px; |
||||
} |
||||
|
||||
.box-card { |
||||
margin-top: 8px; |
||||
} |
||||
|
||||
.bd-btns { |
||||
display: flex; |
||||
justify-content: flex-end; |
||||
align-items: center; |
||||
height: 60px; |
||||
} |
||||
|
||||
.demo-form-inline { |
||||
margin: 0 24px; |
||||
} |
||||
</style> |
@ -0,0 +1,238 @@
|
||||
<template> |
||||
<div class="box"> |
||||
<el-row> |
||||
<el-col :span="24"> |
||||
<el-breadcrumb separator="/"> |
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> |
||||
<el-breadcrumb-item>合同管理</el-breadcrumb-item> |
||||
</el-breadcrumb> |
||||
</el-col> |
||||
</el-row> |
||||
<div class="container"> |
||||
<el-row> |
||||
<el-form |
||||
:inline="true" |
||||
:model="formInline" |
||||
size="small" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="合同名称" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.name" |
||||
placeholder="合同名称" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="项目编号" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.pnum" |
||||
placeholder="项目编号" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="合同编号" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.cnum" |
||||
placeholder="项目编号" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方公司" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.company" |
||||
placeholder="乙方公司" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="签订日期" label-width="100px"> |
||||
<el-date-picker |
||||
v-model="formInline.rangeDate1" |
||||
type="daterange" |
||||
range-separator="至" |
||||
start-placeholder="开始日期" |
||||
end-placeholder="结束日期" |
||||
> |
||||
</el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="交接日期" label-width="100px"> |
||||
<el-date-picker |
||||
v-model="formInline.rangeDate2" |
||||
type="daterange" |
||||
range-separator="至" |
||||
start-placeholder="开始日期" |
||||
end-placeholder="结束日期" |
||||
> |
||||
</el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="状态" label-width="100px"> |
||||
<el-select v-model="formInline.status" placeholder="状态"> |
||||
<el-option label="科室签字" value="1"></el-option> |
||||
<el-option label="财务审核" value="2"></el-option> |
||||
<el-option label="审核监管科审核" value="3"></el-option> |
||||
<el-option label="公司整改" value="4"></el-option> |
||||
<el-option label="法务审核" value="5"></el-option> |
||||
<el-option label="印章申请" value="6"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="onSubmit">查询</el-button> |
||||
<el-button style="margin-left: 64px" type="primary" @click="onAdd" |
||||
>新增</el-button |
||||
> |
||||
<el-button type="primary" @click="onDelete">删除</el-button> |
||||
<el-button type="primary" @click="onBatch">批量操作</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-row> |
||||
<el-table |
||||
ref="multipleTable" |
||||
fit |
||||
border |
||||
height="400" |
||||
:data="tableData" |
||||
tooltip-effect="dark" |
||||
:show-overflow-tooltip="true" |
||||
style="width: 100%; background-color: none" |
||||
@selection-change="handleSelectionChange" |
||||
> |
||||
<el-table-column type="selection" width="55"> </el-table-column> |
||||
<el-table-column type="index" width="50"> </el-table-column> |
||||
<el-table-column prop="name" label="合同名称" width="200"> |
||||
</el-table-column> |
||||
<el-table-column prop="pname" label="项目名称" width="200"> |
||||
</el-table-column> |
||||
<el-table-column prop="company" label="乙方" width="120"> |
||||
</el-table-column> |
||||
<el-table-column prop="cnum" label="合同编号"> </el-table-column> |
||||
|
||||
<el-table-column prop="pnum" label="项目编号"> </el-table-column> |
||||
<el-table-column prop="rDate" label="采购交接日期" width="120"> |
||||
</el-table-column> |
||||
<el-table-column prop="sdate" label="签订日期" width="120"> |
||||
</el-table-column> |
||||
<el-table-column label="状态"> |
||||
<template slot-scope="scope" |
||||
><a |
||||
style="cursor: pointer" |
||||
@click="handleDetailChange(scope.row)" |
||||
>{{ scope.row.status }}</a |
||||
></template |
||||
> |
||||
</el-table-column> |
||||
</el-table> |
||||
<el-pagination |
||||
@size-change="handleSizeChange" |
||||
@current-change="handleCurrentChange" |
||||
:current-page="currentPage" |
||||
:page-sizes="[20, 50, 100, 200, 400]" |
||||
:page-size="20" |
||||
layout="total, sizes, prev, pager, next, jumper" |
||||
:total="400" |
||||
> |
||||
</el-pagination> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import contractDataList from "../../data/contractDataList"; |
||||
|
||||
export default { |
||||
data() { |
||||
return { |
||||
formInline: { |
||||
name: "", //合同明好才能 |
||||
pnum: "", //项目编号 |
||||
cnum: "", //合同编号 |
||||
rangeDate1: "", //签订日期 |
||||
rangeDate2: "", //交接日期 |
||||
status: "", //状态 |
||||
company: "", //乙方公司 |
||||
}, |
||||
tableData: contractDataList, |
||||
currentPage: 1, |
||||
multipleSelection: [], |
||||
checkedCities: [ |
||||
"序号", |
||||
"计划年度", |
||||
"采购权限", |
||||
"科室", |
||||
"设备名称", |
||||
"数量", |
||||
], |
||||
dialogExportVisible: false, |
||||
}; |
||||
}, |
||||
methods: { |
||||
onSubmit() { |
||||
console.log(this.formInline); |
||||
}, |
||||
onAdd() { |
||||
console.log("onAdd"); |
||||
this.$router.push({ path: "/contractDetail" }); |
||||
}, |
||||
onDelete() { |
||||
//确认勾选数据 |
||||
if (this.multipleSelection.length == 0) { |
||||
this.$message.error("请勾选的数据!"); |
||||
return; |
||||
} |
||||
this.$confirm("确定删除?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.$message({ |
||||
type: "success", |
||||
message: "删除成功!", |
||||
}); |
||||
}) |
||||
.catch(() => { |
||||
this.$message({ |
||||
type: "info", |
||||
message: "已取消删除", |
||||
}); |
||||
}); |
||||
console.log("onDelete"); |
||||
}, |
||||
onExport() { |
||||
//确认勾选数据 |
||||
if (this.multipleSelection.length == 0) { |
||||
this.$message.error("请勾选数据!"); |
||||
return; |
||||
} |
||||
//弹出对话框 |
||||
this.dialogExportVisible = true; |
||||
}, |
||||
onBatch() { |
||||
console.log("onBatch"); |
||||
}, |
||||
handleSelectionChange(val) { |
||||
this.multipleSelection = val; |
||||
console.log("handleSelectionChange:", val); |
||||
}, |
||||
handleSizeChange(val) { |
||||
console.log(`每页 ${val} 条`); |
||||
}, |
||||
handleCurrentChange(val) { |
||||
console.log(`当前页: ${val}`); |
||||
}, |
||||
handleDetailChange(val) { |
||||
this.$router.push({ path: "/contractDetail", query: { id: val.id } }); |
||||
}, |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style scoped> |
||||
.el-row { |
||||
margin: 10px; |
||||
} |
||||
|
||||
a { |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
.container { |
||||
width: calc(100% - 48px); |
||||
height: calc(100vh - 160px); |
||||
margin: 12px 12px 0 24px; |
||||
} |
||||
</style> |
@ -0,0 +1,532 @@
|
||||
<template> |
||||
<div class="box"> |
||||
<el-row> |
||||
<el-col :span="24"> |
||||
<el-breadcrumb separator="/"> |
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> |
||||
<el-breadcrumb-item :to="{ path: '/device' }" |
||||
>设备管理</el-breadcrumb-item |
||||
> |
||||
<el-breadcrumb-item>设备详情</el-breadcrumb-item> |
||||
</el-breadcrumb> |
||||
</el-col> |
||||
</el-row> |
||||
<div class="main-container"> |
||||
<el-card class="box-card" shadow="always"> |
||||
<div slot="header" class="clearfix"> |
||||
<h3>一、基本信息</h3> |
||||
</div> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
label-width="120px" |
||||
label-position="right" |
||||
:disabled="readonly" |
||||
:model="formInline" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="设备名称"> |
||||
<el-input |
||||
v-model="formInline.sbmc" |
||||
placeholder="设备名称" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="科室"> |
||||
<el-input v-model="formInline.ks" placeholder="科室"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="通用名称"> |
||||
<el-input |
||||
v-model="formInline.ttmc" |
||||
placeholder="通用名称" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="设备分类"> |
||||
<el-select v-model="formInline.sbfl" placeholder="设备分类"> |
||||
<el-option label="分类一" value="1"></el-option> |
||||
<el-option label="分类二" value="2"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="数量"> |
||||
<el-input v-model="formInline.sl" placeholder="数量"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="单位"> |
||||
<el-input v-model="formInline.dw" placeholder="单位"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="计划年度"> |
||||
<el-select v-model="formInline.sbfl" placeholder="计划年度"> |
||||
<el-option label="2019" value="1"></el-option> |
||||
<el-option label="2020" value="2"></el-option> |
||||
<el-option label="2021" value="3"></el-option> |
||||
<el-option label="2022" value="4"></el-option> |
||||
<el-option label="2023" value="5"></el-option> |
||||
<el-option label="2024" value="6"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="采购权限"> |
||||
<el-select v-model="formInline.sbfl" placeholder="采购权限"> |
||||
<el-option label="上级下发" value="1"></el-option> |
||||
<el-option label="医院自采" value="2"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="预算单价(万元)"> |
||||
<el-input placeholder="100"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="预算总价(万元)"> |
||||
<el-input placeholder="100"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="成交单价(万元)"> |
||||
<el-input placeholder="80"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="成交总价(万元)"> |
||||
<el-input placeholder="80"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="质保期(年)"> |
||||
<el-input placeholder="2"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="经费来源"> |
||||
<el-input placeholder="折旧基金"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="采购项目编号"> |
||||
<el-input placeholder="2024020-3333-3333"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="合同名称"> |
||||
<el-input placeholder="DR设备采购合同"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="验收日期"> |
||||
<el-date-picker type="date" placeholder="选择日期"></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="合同编号" label-width='100px'> |
||||
<el-input placeholder="xxxxxxxx"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="付款状态" label-width='100px'> |
||||
<el-select v-model="formInline.sbfl" placeholder="未支付"> |
||||
<el-option label="未支付" value="1"></el-option> |
||||
<el-option label="已支付" value="2"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="质保金支付日期" label-width='140px'> |
||||
<el-date-picker type="date" placeholder="选择日期"></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="是否有配套专用耗材" label-width='140px'> |
||||
<el-select v-model="formInline.sbfl" placeholder="有"> |
||||
<el-option label="有" value="1"></el-option> |
||||
<el-option label="没有" value="2"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="乙方公司"> |
||||
<el-input placeholder="人福医疗"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方联系人"> |
||||
<el-input placeholder="王丽"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="乙方联系方式"> |
||||
<el-input placeholder="17777777777"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
<el-card class="box-card" shadow="always"> |
||||
<div slot="header" class="clearfix"> |
||||
<h3>二、设备进展</h3> |
||||
<!-- <el-steps :active="5"> |
||||
<el-step title="需求遍报" description="已完成"> |
||||
<div slot="title" @click="step('1')">需求遍报</div> |
||||
</el-step> |
||||
<el-step title="采购状态" description="已完成"></el-step> |
||||
<el-step title="合同签订" description="已完成"></el-step> |
||||
<el-step title="设备验收" description="已完成"></el-step> |
||||
<el-step title="付款" description="已完成"></el-step> |
||||
<el-step title="质保金" description="未开始"></el-step> |
||||
</el-steps> --> |
||||
</div> |
||||
<el-collapse v-model="activeNames"> |
||||
<el-collapse-item title="需求编报" name="1"> |
||||
<template slot="title"> |
||||
<h3>需求编报</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-timeline> |
||||
<el-timeline-item |
||||
v-for="(item, index) in xqbb" |
||||
:key="timestamps1[index]" |
||||
:timestamp="timestamps1[index]" |
||||
placement="top" |
||||
> |
||||
<el-card> |
||||
<el-form |
||||
:disabled="readonly" |
||||
:inline="true" |
||||
size="small" |
||||
:model="item" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="经办人"> |
||||
<el-input |
||||
v-model="item.name" |
||||
placeholder="经办人" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="进展"> |
||||
<el-select v-model="item.process" placeholder="进展"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="日期"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="item.date" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input |
||||
type="textarea" |
||||
v-model="item.remark" |
||||
></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
</el-timeline-item> |
||||
</el-timeline> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="采购状态" name="2"> |
||||
<template slot="title" |
||||
><h3>采购状态</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="cg" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="需求公示时间"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="cg.xqgs" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="第一次招标"> |
||||
<el-input v-model="cg.zb1" placeholder="第一次招标"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="第二次招标"> |
||||
<el-input v-model="cg.zb2" placeholder="第二次招标"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="第三次招标"> |
||||
<el-input v-model="cg.zb3" placeholder="第三次招标"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="退回"> |
||||
<el-input v-model="cg.th" placeholder="退回"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="采购状态"> |
||||
<el-select v-model="cg.cgzt" placeholder="采购状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="cg.remark"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="合同签订" name="3"> |
||||
<template slot="title"> |
||||
<h3>合同签订</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-timeline-item |
||||
v-for="(item, index) in htqd" |
||||
:key="timestamps3[index]" |
||||
:timestamp="timestamps3[index]" |
||||
placement="top" |
||||
> |
||||
<el-card> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="item" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="经办人"> |
||||
<el-input |
||||
v-model="item.name" |
||||
placeholder="经办人" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="进展"> |
||||
<el-select v-model="item.process" placeholder="进展"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="开始时间"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="item.startDate" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="结束时间"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="item.endDate" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="item.remark"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-card> |
||||
</el-timeline-item> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="设备验收" name="4"> |
||||
<template slot="title"> |
||||
<h3>设备验收</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="sbys" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="sbys.zt" placeholder="采购状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="验收人"> |
||||
<el-input v-model="sbys.name" placeholder="验收人"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="验收日期"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="sbys.date" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="档案号"> |
||||
<el-input v-model="sbys.dah" placeholder="档案号"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="sbys.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="付款" name="5"> |
||||
<template slot="title"> |
||||
<h3>付款</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="fk" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="fk.zt" placeholder="采购状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="付款批次"> |
||||
<el-input v-model="fk.fkpc" placeholder="付款批次"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="金额"> |
||||
<el-input v-model="fk.je" placeholder="金额"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="fk.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
<el-collapse-item title="质保金" name="6"> |
||||
<template slot="title"> |
||||
<h3>质保金</h3> |
||||
<i class="header-icon el-icon-info"></i> |
||||
</template> |
||||
<el-form |
||||
:inline="true" |
||||
size="small" |
||||
:disabled="readonly" |
||||
:model="zbj" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="状态"> |
||||
<el-select v-model="zbj.zt" placeholder="状态"> |
||||
<el-option label="未开始" value="01"></el-option> |
||||
<el-option label="进行中" value="02"></el-option> |
||||
<el-option label="已完成" value="03"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="质保金到期日期"> |
||||
<el-date-picker |
||||
type="date" |
||||
placeholder="选择日期" |
||||
v-model="zbj.date" |
||||
></el-date-picker> |
||||
</el-form-item> |
||||
<el-form-item label="经办人"> |
||||
<el-input v-model="zbj.name" placeholder="经办人"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="付款金额"> |
||||
<el-input v-model="zbj.je" placeholder="付款金额"></el-input> |
||||
</el-form-item> |
||||
|
||||
<el-form-item label="付款批次"> |
||||
<el-input v-model="zbj.fkpc" placeholder="付款批次"></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="备注"> |
||||
<el-input type="textarea" v-model="zbj.bz"></el-input> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-collapse-item> |
||||
</el-collapse> |
||||
</el-card> |
||||
</div> |
||||
<div class="operation-box"> |
||||
<el-button type="primary" v-if="readonly" @click="edit">编辑</el-button> |
||||
<el-button type="primary" v-else @click="cancel">取消</el-button> |
||||
<el-button type="primary" @click="save">保存</el-button> |
||||
<el-button @click="back">返回上页</el-button> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import dddData from "../../data/deviceDataDetail"; |
||||
export default { |
||||
data() { |
||||
return { |
||||
formInline: { |
||||
user: "", |
||||
region: "", |
||||
}, |
||||
readonly: true, |
||||
xqbb: dddData.xqbb, |
||||
htqd: dddData.htqd, |
||||
timestamps1: [ |
||||
"组织需求形式审查 2018/4/12 20:46", |
||||
"业务行政会议审议 2018/4/3", |
||||
"组织采购意向公示 2018/4/2", |
||||
"组织技术参数论证 2018/4/2", |
||||
"技术参数复核 2018/4/2", |
||||
"采购需求编报 2018/4/2", |
||||
"质疑答复流标复核 2018/4/2", |
||||
], |
||||
timestamps3: [ |
||||
"采购交接 2018/4/12 20:46", |
||||
"医工科审核 2018/4/3", |
||||
"需求科室 2018/4/2", |
||||
"财务审核 2018/4/2", |
||||
"审核监管科审核 2018/4/2", |
||||
"法务 2018/4/2", |
||||
"印章申请 2018/4/2", |
||||
"合同签订 2018/4/2", |
||||
], |
||||
cg: dddData.cg, |
||||
sbys: dddData.sbys, |
||||
fk: dddData.fk, |
||||
zbj: dddData.zbj, |
||||
activeNames: ["1", "2", "3", "4", "5", "6"], |
||||
}; |
||||
}, |
||||
methods: { |
||||
onSubmit() { |
||||
console.log("submit!"); |
||||
}, |
||||
edit() { |
||||
this.readonly = false; |
||||
}, |
||||
save() { |
||||
this.$confirm("是否保存?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.$message({ |
||||
type: "success", |
||||
message: "保存成功!", |
||||
}); |
||||
}) |
||||
.catch(() => { |
||||
this.$message({ |
||||
type: "info", |
||||
message: "已取消保存", |
||||
}); |
||||
}); |
||||
}, |
||||
cancel() { |
||||
this.$confirm("是否取消编辑?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.readonly = true; |
||||
}) |
||||
.catch(() => {}); |
||||
}, |
||||
back() { |
||||
this.$router.push("/device"); |
||||
}, |
||||
step(num) { |
||||
this.activeNames = num; |
||||
}, |
||||
}, |
||||
mounted() { |
||||
console.log(this.$route.query.id); |
||||
if (this.$route.query.id) { |
||||
//查询页面,查询表单信息 |
||||
} else { |
||||
//新增页面,页面可编辑 |
||||
this.readonly = false; |
||||
} |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style> |
||||
.main-container { |
||||
width: calc(100% - 48px); |
||||
height: calc(100vh - 160px); |
||||
margin: 12px 12px 0 24px; |
||||
background-color: rgb(236, 233, 233); |
||||
overflow: auto; |
||||
} |
||||
|
||||
.operation-box { |
||||
display: flex; |
||||
justify-content: center; |
||||
align-content: center; |
||||
background-color: rgba(141, 139, 139, 0.348); |
||||
width: calc(100% - 48px); |
||||
padding: 8px 0; |
||||
margin: 0 24px; |
||||
} |
||||
|
||||
.box-card { |
||||
margin-top: 8px; |
||||
} |
||||
|
||||
.demo-form-inline { |
||||
margin: 0 24px; |
||||
} |
||||
</style> |
@ -0,0 +1,249 @@
|
||||
<template> |
||||
<div class="box"> |
||||
<el-row> |
||||
<el-col :span="24"> |
||||
<el-breadcrumb separator="/"> |
||||
<el-breadcrumb-item :to="{ path: '/' }">首页</el-breadcrumb-item> |
||||
<el-breadcrumb-item>设备管理</el-breadcrumb-item> |
||||
</el-breadcrumb> |
||||
</el-col> |
||||
</el-row> |
||||
<div class="container"> |
||||
<el-row> |
||||
<el-form |
||||
:inline="true" |
||||
:model="formInline" |
||||
size="small" |
||||
class="demo-form-inline" |
||||
> |
||||
<el-form-item label="设备名称" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.name" |
||||
placeholder="设备名称" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="计划年度" label-width="100px"> |
||||
<el-select v-model="formInline.year" placeholder="计划年度"> |
||||
<el-option label="2019" value="1"></el-option> |
||||
<el-option label="2020" value="2"></el-option> |
||||
<el-option label="2021" value="3"></el-option> |
||||
<el-option label="2022" value="4"></el-option> |
||||
<el-option label="2023" value="5"></el-option> |
||||
<el-option label="2024" value="6"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="采购权限" label-width="80px"> |
||||
<el-select v-model="formInline.auth" placeholder="采购权限"> |
||||
<el-option label="联保部队" value="1"></el-option> |
||||
<el-option label="医院自采" value="2"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="科室" label-width="80px"> |
||||
<el-select v-model="formInline.dep" placeholder="科室"> |
||||
<el-option label="肿瘤科" value="1"></el-option> |
||||
<el-option label="普外" value="2"></el-option> |
||||
<el-option label="妇产科" value="3"></el-option> |
||||
<el-option label="麻醉科" value="4"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item label="项目采购编号" label-width="100px"> |
||||
<el-input |
||||
v-model="formInline.num" |
||||
placeholder="项目采购编号" |
||||
></el-input> |
||||
</el-form-item> |
||||
<el-form-item label="进展" label-width="100px"> |
||||
<el-select v-model="formInline.process" placeholder="进展"> |
||||
<el-option label="需求编报" value="1"></el-option> |
||||
<el-option label="采购" value="2"></el-option> |
||||
<el-option label="合同签订" value="3"></el-option> |
||||
<el-option label="设备验收" value="4"></el-option> |
||||
<el-option label="付款" value="5"></el-option> |
||||
<el-option label="设备验收" value="6"></el-option> |
||||
</el-select> |
||||
</el-form-item> |
||||
<el-form-item> |
||||
<el-button type="primary" @click="onSubmit">查询</el-button> |
||||
<el-button style="margin-left: 64px" type="primary" @click="onAdd" |
||||
>新增</el-button |
||||
> |
||||
<el-button type="primary" @click="onDelete">删除</el-button> |
||||
<el-button type="primary" @click="onExport">导出报表</el-button> |
||||
<el-button type="primary" @click="onBatch">批量操作</el-button> |
||||
</el-form-item> |
||||
</el-form> |
||||
</el-row> |
||||
<el-table |
||||
ref="multipleTable" |
||||
fit |
||||
border |
||||
height="400" |
||||
:show-overflow-tooltip="true" |
||||
:data="tableData" |
||||
tooltip-effect="dark" |
||||
style="width: 100%; background-color: none" |
||||
@selection-change="handleSelectionChange" |
||||
> |
||||
<el-table-column type="selection" width="55"> </el-table-column> |
||||
<el-table-column type="index" width="50"> </el-table-column> |
||||
<el-table-column prop="name" label="设备名称"> </el-table-column> |
||||
<el-table-column prop="year" label="计划年度" width="100"> |
||||
</el-table-column> |
||||
<el-table-column prop="auth" label="采购权限"> </el-table-column> |
||||
<el-table-column prop="dep" label="科室"> </el-table-column> |
||||
|
||||
<el-table-column prop="num" label="数量" width="80"> </el-table-column> |
||||
<el-table-column prop="pPrice" label="预算单价(万)" width="120"> |
||||
</el-table-column> |
||||
<el-table-column prop="dPrice" label="成交单价(万)" width="120"> |
||||
</el-table-column> |
||||
<el-table-column prop="proNum" label="采购项目编号"> </el-table-column> |
||||
<el-table-column label="进展" width="120"> |
||||
<template slot-scope="scope" |
||||
><a |
||||
style="cursor: pointer" |
||||
@click="handleDetailChange(scope.row)" |
||||
>{{ scope.row.proNum }}</a |
||||
></template |
||||
> |
||||
</el-table-column> |
||||
</el-table> |
||||
<el-pagination |
||||
@size-change="handleSizeChange" |
||||
@current-change="handleCurrentChange" |
||||
:current-page="currentPage" |
||||
:page-sizes="[20, 50, 100, 200, 400]" |
||||
:page-size="20" |
||||
layout="total, sizes, prev, pager, next, jumper" |
||||
:total="400" |
||||
> |
||||
</el-pagination> |
||||
</div> |
||||
<el-dialog |
||||
title="提示" |
||||
:visible.sync="dialogExportVisible" |
||||
width="30%" |
||||
> |
||||
<el-checkbox-group |
||||
v-model="checkedCities" |
||||
@change="handleCheckedCitiesChange" |
||||
> |
||||
<el-checkbox v-for="city in cities" :label="city" :key="city">{{ |
||||
city |
||||
}}</el-checkbox> |
||||
</el-checkbox-group> |
||||
<span slot="footer" class="dialog-footer"> |
||||
<el-button @click="dialogExportVisible = false">取 消</el-button> |
||||
<el-button type="primary" @click="dialogExportVisible = false" |
||||
>确 定</el-button |
||||
> |
||||
</span> |
||||
</el-dialog> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
import deviceDataList from "../../data/deviceDataList "; |
||||
const cityOptions = ["序号", "计划年度", "采购权限", "科室","设备名称","数量","预算单价(万元)","成交单价(万元)","采购编号","进展"]; |
||||
export default { |
||||
data() { |
||||
return { |
||||
formInline: { |
||||
name: "", |
||||
year: "", |
||||
auth: "", |
||||
dep: "", |
||||
num: "", |
||||
process: "", |
||||
}, |
||||
tableData: deviceDataList, |
||||
currentPage: 4, |
||||
multipleSelection: [], |
||||
checkedCities: ["序号", "计划年度","采购权限", "科室","设备名称","数量"], |
||||
cities: cityOptions, |
||||
dialogExportVisible: false |
||||
}; |
||||
}, |
||||
methods: { |
||||
onSubmit() { |
||||
console.log(this.formInline); |
||||
}, |
||||
onAdd() { |
||||
console.log("onAdd"); |
||||
this.$router.push({ path: "/deviceDetail" }); |
||||
}, |
||||
onDelete() { |
||||
//确认勾选数据 |
||||
if(this.multipleSelection.length == 0){ |
||||
this.$message.error('请勾选数据!'); |
||||
return |
||||
} |
||||
this.$confirm("确定删除?", "提示", { |
||||
confirmButtonText: "确定", |
||||
cancelButtonText: "取消", |
||||
type: "warning", |
||||
}) |
||||
.then(() => { |
||||
this.$message({ |
||||
type: "success", |
||||
message: "删除成功!", |
||||
}); |
||||
}) |
||||
.catch(() => { |
||||
this.$message({ |
||||
type: "info", |
||||
message: "已取消删除", |
||||
}); |
||||
}); |
||||
console.log("onDelete"); |
||||
}, |
||||
onExport() { |
||||
//确认勾选数据 |
||||
if(this.multipleSelection.length == 0){ |
||||
this.$message.error('请勾选数据!'); |
||||
return |
||||
} |
||||
//弹出对话框 |
||||
this.dialogExportVisible = true |
||||
}, |
||||
onBatch() { |
||||
console.log("onBatch"); |
||||
}, |
||||
handleSelectionChange(val) { |
||||
this.multipleSelection = val; |
||||
console.log("handleSelectionChange:", val); |
||||
}, |
||||
handleSizeChange(val) { |
||||
console.log(`每页 ${val} 条`); |
||||
}, |
||||
handleCurrentChange(val) { |
||||
console.log(`当前页: ${val}`); |
||||
}, |
||||
handleDetailChange(val) { |
||||
this.$router.push({ path: "/deviceDetail", query: { id: val.id } }); |
||||
}, |
||||
handleCheckedCitiesChange(value) { |
||||
let checkedCount = value.length; |
||||
this.checkAll = checkedCount === this.cities.length; |
||||
this.isIndeterminate = |
||||
checkedCount > 0 && checkedCount < this.cities.length; |
||||
} |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style scoped> |
||||
.el-row { |
||||
margin: 10px; |
||||
} |
||||
|
||||
a { |
||||
text-decoration: underline; |
||||
} |
||||
|
||||
.container { |
||||
width: calc(100% - 48px); |
||||
height: calc(100vh - 160px); |
||||
margin: 12px 12px 0 24px; |
||||
} |
||||
</style> |
@ -0,0 +1,72 @@
|
||||
<template> |
||||
<div class="nav"> |
||||
<img class="logo" src="../assets/zz_logo.jpg" /> |
||||
<div class="main_title">{{ title }}</div> |
||||
<el-menu |
||||
default-active="/device" |
||||
mode="horizontal" |
||||
class="main_menu" |
||||
text-color='#000' |
||||
router |
||||
> |
||||
<el-menu-item index="/device">设备管理</el-menu-item> |
||||
<el-menu-item index="/contract">合同管理</el-menu-item> |
||||
<el-submenu index="3"> |
||||
<template slot="title">系统管理</template> |
||||
<el-menu-item index="/systemUser">用户管理</el-menu-item> |
||||
<el-menu-item index="/systemDic">字典管理</el-menu-item> |
||||
</el-submenu> |
||||
</el-menu> |
||||
<div class="right_box"> |
||||
<div>用户名:{{ name }}</div> |
||||
<el-button type="primary" round>退出</el-button> |
||||
</div> |
||||
</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
data() { |
||||
return { |
||||
title: "设备合同管理系统", |
||||
name: "黄凯", |
||||
}; |
||||
}, |
||||
methods: { |
||||
}, |
||||
}; |
||||
</script> |
||||
|
||||
<style scoped> |
||||
.nav { |
||||
background-color: #409eff; |
||||
width: 100%; |
||||
height: 60px; |
||||
display: flex; |
||||
align-items: center; |
||||
} |
||||
|
||||
.logo { |
||||
width: 48px; |
||||
height: 48px; |
||||
margin: 8px; |
||||
border-radius: 24px; |
||||
} |
||||
|
||||
.main_title { |
||||
font-size: 28px; |
||||
font-family: cursive; |
||||
flex-grow: 2; |
||||
} |
||||
.main_menu { |
||||
flex-grow: 5; |
||||
background: none; |
||||
} |
||||
|
||||
.right_box { |
||||
flex-grow: 1; |
||||
display: flex; |
||||
align-items: center; |
||||
justify-content: space-around; |
||||
} |
||||
</style>> |
@ -0,0 +1,13 @@
|
||||
<template> |
||||
<div>systemDic</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
|
||||
} |
||||
</script> |
||||
|
||||
<style> |
||||
|
||||
</style> |
@ -0,0 +1,13 @@
|
||||
<template> |
||||
<div>systemUser</div> |
||||
</template> |
||||
|
||||
<script> |
||||
export default { |
||||
|
||||
} |
||||
</script> |
||||
|
||||
<style> |
||||
|
||||
</style> |
@ -0,0 +1,89 @@
|
||||
|
||||
//合同签订
|
||||
const htqd = [ |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
} |
||||
] |
||||
//设备验收
|
||||
const sbys = { |
||||
name: "", //验收人
|
||||
date: "", //验收日期
|
||||
zt: "", //状态
|
||||
dah: "", //档案号
|
||||
bz: "", //备注
|
||||
} |
||||
//付款
|
||||
const fk = { |
||||
name: "", //验收人
|
||||
fkpc: "", //付款批次
|
||||
zt: "", //状态
|
||||
je: "", //金额
|
||||
bz: "", //备注
|
||||
} |
||||
//质保金
|
||||
const zbj = { |
||||
name: "", //验收人
|
||||
date: "", //到期日期
|
||||
je: "", //付款金额
|
||||
zt: "", //状态
|
||||
fkpc: "", //付款批次
|
||||
bz: "", //备注
|
||||
} |
||||
|
||||
const cddata = { htqd: htqd, sbys: sbys,fk:fk ,zbj:zbj} |
||||
|
||||
export default cddata |
@ -0,0 +1,138 @@
|
||||
//设备列表数据
|
||||
const contractDataList = [ |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
name: "呼吸机设备采购合同", |
||||
pname:"呼吸机设备采购项目", |
||||
pnum: "2022-JQZWWH-WC3180", |
||||
cnum:"2022-JQZWWH-WC3180(00)-医疗-0058568", |
||||
company: "湖北人福医药集团有限公司", |
||||
sdate: "2023-03-06", |
||||
rDate: "2023-01-01", |
||||
status: "财务审核中", |
||||
}, |
||||
] |
||||
|
||||
|
||||
export default contractDataList |
@ -0,0 +1,150 @@
|
||||
//需求编报
|
||||
const xqbb = [ |
||||
{ |
||||
//组织需求形式审查
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
//业务行政会议审议
|
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
date: "", //完成日期
|
||||
remark: "", //备注
|
||||
} |
||||
] |
||||
//采购状态
|
||||
const cg = { |
||||
xqgs: "", //需求公示
|
||||
zb1: "", //第一次招标
|
||||
zb2: "", //第二次招标
|
||||
zb3: "", //第三次招标
|
||||
th: "", //退回
|
||||
cgzt: "", //采购状态
|
||||
bz: "", //备注
|
||||
} |
||||
//合同签订
|
||||
const htqd = [ |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
}, |
||||
{ |
||||
name: "", //经办人
|
||||
process: "", //进展
|
||||
startDate: "", //开始日期
|
||||
endDate: "", //结束日期
|
||||
remark: "", //备注
|
||||
} |
||||
] |
||||
//设备验收
|
||||
const sbys = { |
||||
name: "", //验收人
|
||||
date: "", //验收日期
|
||||
zt: "", //状态
|
||||
dah: "", //档案号
|
||||
bz: "", //备注
|
||||
} |
||||
//付款
|
||||
const fk = { |
||||
name: "", //验收人
|
||||
fkpc: "", //付款批次
|
||||
zt: "", //状态
|
||||
je: "", //金额
|
||||
bz: "", //备注
|
||||
} |
||||
//质保金
|
||||
const zbj = { |
||||
name: "", //验收人
|
||||
date: "", //到期日期
|
||||
je: "", //付款金额
|
||||
zt: "", //状态
|
||||
fkpc: "", //付款批次
|
||||
bz: "", //备注
|
||||
} |
||||
|
||||
const dddata = { xqbb: xqbb, htqd: htqd, cg: cg, sbys: sbys,fk:fk ,zbj:zbj} |
||||
|
||||
export default dddata |
@ -0,0 +1,171 @@
|
||||
//设备列表数据
|
||||
const deviceDataList = [ |
||||
{ |
||||
id: "00001", |
||||
year: "2019", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "需求编报", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
year: "2020", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "采购", |
||||
}, |
||||
{ |
||||
id: "00003", |
||||
year: "2023", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "合同签订", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
year: "2019", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "设备验收", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
year: "2020", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "付款", |
||||
}, |
||||
{ |
||||
id: "00003", |
||||
year: "2023", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "设备验收", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
year: "2019", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
year: "2020", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00003", |
||||
year: "2023", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
year: "2019", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
year: "2020", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00003", |
||||
year: "2023", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00001", |
||||
year: "2019", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00002", |
||||
year: "2020", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
}, |
||||
{ |
||||
id: "00003", |
||||
year: "2023", |
||||
name: "DR", |
||||
auth: "本级自购", |
||||
dep: "肿瘤科", |
||||
num: "1", |
||||
pPrice: "180", |
||||
dPrice: "150", |
||||
proNum: "xxxxxxxxxx", |
||||
} |
||||
] |
||||
|
||||
|
||||
export default deviceDataList |
@ -0,0 +1,22 @@
|
||||
import Vue from 'vue' |
||||
import App from './App.vue' |
||||
import ElementUI from 'element-ui'; |
||||
import 'element-ui/lib/theme-chalk/index.css'; |
||||
import routes from './route/routes' |
||||
Vue.use(ElementUI); |
||||
|
||||
import VueRouter from 'vue-router' |
||||
|
||||
Vue.use(VueRouter) |
||||
|
||||
Vue.config.productionTip = false |
||||
|
||||
const router = new VueRouter({ |
||||
routes // (缩写) 相当于 routes: routes
|
||||
}) |
||||
|
||||
new Vue({ |
||||
router:router, |
||||
el: '#app', |
||||
render: h => h(App) |
||||
}); |
@ -0,0 +1,18 @@
|
||||
import deviceList from "../components/device/deviceList.vue" |
||||
import deviceDetail from "../components/device/deviceDetial.vue" |
||||
import contractList from "../components/contract/contractList.vue" |
||||
import contractDetail from "../components/contract/contractDetail.vue" |
||||
import systemUser from "../components/system/systemUser.vue" |
||||
import systemDic from "../components/system/systemDic.vue" |
||||
|
||||
const routes = [ |
||||
{ path: '/contract', name:'contract', component: contractList }, |
||||
{ path: '/contractDetail', name:'contractDetail', component: contractDetail }, |
||||
{ path: '/device', name:'device', component: deviceList }, |
||||
{ path: '/deviceDetail', name:'deviceDetail', component: deviceDetail }, |
||||
{ path: '/systemUser', name:'systemUser', component: systemUser }, |
||||
{ path: '/systemDic', name:'systemDic', component: systemDic }, |
||||
{ path: '/', name:'device', component: deviceList }, |
||||
] |
||||
|
||||
export default routes |
Loading…
Reference in new issue